Fast thread

Universal Java Thread Dump Analyzer


Educational – Best Practises

Untangling Deadlocks Caused by Java’s parallelStream

Concurrency is both the boon and bane of software development. The promise of enhanced performance through parallel processing comes hand in hand with intricate challenges, such as the notorious deadlock. Deadlocks, those insidious hiccups in the world of multithreaded programming,... Continue Reading →

How to capture and analyze Thread dumps in Android?

Discover the power of thread dumps in Android development. Learn what thread dumps are, how to capture them using commands like 'dumpsys thread' and 'jstack,' and uncover the insights they offer. Explore the effectiveness of 'fastThread,' a user-friendly tool that... Continue Reading →

Java Suspended Thread states (BLOCKED, WAITING, TIMED_WAITING)

Java threads can be in 6 different states: NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED. When a thread is suspended (i.e., unable to progress further), it will be one of these 3 suspended thread states: BLOCKED, WAITING, TIMED_WAITING. Let's discuss these... Continue Reading →

ThreadLocal – easy introduction

There are scopes of variable in Java programming language: a. Local variable b. Member variable (aka instance variable) c. Static variable (aka class variable) In this post, let's discuss an interesting type of variable: ThreadLocal and how it differs from... Continue Reading →

Diagnose CPU spike  – non-intrusive approach!

In this post, we are going to discuss a non-intrusive approach (i.e., approach that doesn’t add any noticeable overhead to the application) to diagnose CPU spike. Thus, you can use this approach in your production environment to troubleshoot CPU spikes.... Continue Reading →

Pitfalls to avoid when switching to Virtual threads

Java virtual thread is a new feature available from JDK 19. It has potential to improve the application’s availability, throughput and code quality on top of reducing memory consumption. If you are interested in learning more about Java virtual thread,... Continue Reading →

Java Fairness

Coming soon!

JVM c1, c2 compiler thread – high CPU consumption?

c1, c2 compiler threads are created by Java virtual machine to optimize your application's performance. Occasionally these threads will tend to consume high CPU. In this post, let’s learn little more about c1, c2 compiler threads and how to address... Continue Reading →

Java class loading – performance impact!

java.lang.ClassLoader#loadClass() API is used by 3rd party libraries, JDBC Drivers, frameworks, application servers to load a java class into the memory. Application developers don’t use this API frequently. However when they use the APIs such as ‘java.lang.Class.forName()’ or ‘org.springframework.util.ClassUtils.forName()’, they... Continue Reading →

Powered by

Up ↑