Search

Fast thread

Universal Java Thread Dump Analyzer

Tag

Java

Diagnosing and Fixing Deadlock in Apache PDFBox with fastThread

Apache PDFBox is an open-source library for handling PDF documents in Java. A recent deadlock issue was identified in the library, which occurs when two threads are blocked, waiting for resources held by each other. The problem was diagnosed using a thread dump, and a ticket was filed, resulting in a prompt fix by the PDFBox team.

Simulating & troubleshooting deadlock in Kotlin

This post discusses deadlock in multi-threaded applications, specifically in Kotlin. It defines deadlock and provides a practical example using trains on a single track. A sample Kotlin program illustrates how deadlock occurs between two threads. Troubleshooting deadlock involves capturing thread dumps and analyzing them with tools like yCrash for clearer insight.

Java class loading – performance impact!

The java.lang.ClassLoader#loadClass() API is essential for loading Java classes dynamically, primarily utilized by frameworks and libraries. Frequent calls can degrade performance, causing application unresponsiveness. Solutions include loading classes once at startup and caching instances, which can mitigate threading issues observed during runtime.

How fastThread Resolved Critical Application Downtime Caused by java.util.UUID#randomUUID()

Java developers often use 'java.util.UUID#randomUUID()' to generate UUIDs, but it can hinder application availability due to potential 'entropy' shortages in the operating system. This can lead to multiple threads entering a BLOCKED state, causing application unresponsiveness. Solutions include upgrading RHEL, installing 'haveged,' or using '/dev/urandom' for randomness.

All Day Devops Conference 2021 – 7 HABITS OF HIGHLY EFFECTIVE PERFORMANCE TROUBLESHOOTERS!

The World’s Largest 6th Annual All Day DevOps conference took place on October 28, 2021, featuring architect Ram Lakshmanan, who presented a webinar on the "7 habits of highly effective Performance Troubleshooters." The presentation covered forecasting problems, addressing incidents in real-time, root cause identification, and prevention strategies.

Performance impact of java.lang.System.getProperty()

The 'java.lang.System.getProperty()' API allows Java developers to read system properties but can degrade application performance when used in critical code paths due to synchronization issues. A real-world example shows 189 threads getting blocked, impacting response time. Solutions include upgrading to JDK 11 or caching property values for improved performance.

Overhead added by collecting thread dumps

The thread dump is crucial for diagnosing Java application issues like CPU spikes and memory usage. A study using the Pet Clinic app on AWS EC2 assessed the impact of capturing thread dumps every 5 and 2 minutes. Results indicated no significant overhead on CPU, memory, or response times for either interval.

JAX 2021 – JVM INTERNALS IN 1 SLIDE

JAX - Online conference brings together Java and software architecture enthusiasts to share knowledge globally. This year featured a webinar on "JVM Internals in 1 slide," where attendees learned JVM fundamentals and how to troubleshoot, tune, and optimize JVM performance effectively. A presentation deck accompanies the session.

Video Blog: 7 JVM Arguments of Highly effective applications

The post highlights the complexity of managing over 600 JVM arguments related to garbage collection and memory. It emphasizes seven key arguments across four videos that enhance application performance for Java, Scala, and Jython. Topics include heap size, thread stack size, garbage collection settings, and error handling.

Up ↑