Search

Fast thread

Universal Java Thread Dump Analyzer

Category

Java Performance

LESS KNOWN FACTS ABOUT DAEMON AND NON-DAEMON THREADS

Non-daemon threads, or user threads, prevent the JVM from exiting if alive, while daemon threads do not. Daemon threads should be used cautiously, as they can lead to resource leaks if the JVM halts mid-execution, skipping finally blocks. Most JVM threads are daemon threads, inheriting from parent threads.

JAVA THREAD STATES EXPLAINED – VIDEO TUTORIAL

The video explains the thread states BLOCKED, WAITING, and TIMED_WAITING, aiming to clarify their complexities for better thread dump analysis. Through real-life examples, it simplifies these concepts, enhancing understanding. For further learning, the article "Java Thread Example" is recommended as a supplementary resource.

WHAT’S THE DIFFERENCE BETWEEN BLOCKED, WAITING, AND TIMED_WAITING? – EXPLAINED TO REAL-LIFE EXAMPLES

The article explains thread states in Java: BLOCKED, WAITING, and TIMED_WAITING, with relatable real-life examples for clarity. BLOCKED occurs when a thread waits for a monitor lock, whereas WAITING is when a thread waits indefinitely for an action. TIMED_WAITING is when a thread waits for a specified time. Understanding these states is crucial for analyzing thread dumps.

HOW TO TROUBLESHOOT SUDDEN CPU SPIKES?

This article addresses troubleshooting CPU spikes in Java applications caused by two main issues: repeated Full Garbage Collections (GC) due to memory leaks and infinitely looping threads. It provides guidance on diagnosing these problems using tools like GCeasy and fastThread, helping users identify root causes and implement effective fixes.

SERIES 1: PERFORMANCE ENGINEERING INTERVIEW QUESTIONS

This series discusses interview questions regarding external connectivity, focusing on how to monitor and diagnose connections with databases or services. It covers using commands like "netstat" for connection counts, APM tools for real-time response time monitoring, and diagnosing issues through changes in applications or network settings.

JVM INTERNALS IN 3 SLIDES

This content introduces a presentation on JVM Internals, summarizing key topics such as JVM Architecture, memory model, and Garbage Collection in just three slides. It emphasizes the clarity and conciseness of the information provided, making it accessible for users seeking to understand JVM fundamentals quickly.

JAVA BATCH OPTIMIZATION

A North American shipping monopoly faced delays in batch job processing after porting to Java, affecting operations. Engaged to optimize performance, I successfully reduced run time from 16:04 hours to 3:14 hours within two months, despite added requirements and increased traffic. The solution improved efficiency significantly.

SPRING IOC CONTAINER – PERFORMANCE PROBLEM

The Spring IOC Container currently builds all dependencies for a requested bean, leading to unnecessary memory and CPU usage due to unused objects. The proposed solution suggests implementing a lazy-loading feature for dependencies, allowing the container to create required objects dynamically during runtime, thereby optimizing resource utilization and performance.

GRACEFULLY AND QUICKLY EVICT HTTP PERSISTENT CONNECTIONS

The article discusses how persistent HTTP connections can be quickly and gracefully terminated by having the server switch to non-persistent mode. By automatically adding the "Connection: Close" header when the server needs to be taken offline, client applications can close connections efficiently, reducing downtime during deployments.

Up ↑