tier1appteam

tier1appteam

Chaos Engineering – Blocked Threads

This article discusses simulating thread BLOCKED states in chaos engineering using a sample program from BuggyApp. It describes how threads are blocked when attempting to acquire a lock on a synchronized method still held by another thread. It also explains diagnosing blocked threads through manual and automated approaches, including using tools like yCrash for analysis.

Chaos Engineering – Thread Leak

This article discusses simulating thread leaks in applications, leading to the 'java.lang.OutOfMemoryError: unable to create new native thread' error. It demonstrates a sample program that creates infinite threads, preventing them from exiting. The article also outlines manual and automated approaches to diagnose and analyze these memory issues effectively.

Chaos Engineering – Deadlock

The article discusses deadlock in multi-threaded applications, defining it as a situation where processes are blocked, each waiting for a resource held by another. It provides an analogy using trains on a shared track that can't proceed due to overlapping resource needs. Sample Java code illustrates deadlock, while troubleshooting methods are described.

Shallow Heap vs Retained Heap

Eclipse MAT is a crucial tool for analyzing heap dumps, particularly useful in debugging OutOfMemoryError. It distinguishes between two object sizes: Shallow Heap and Retained Heap. A video is available that explains their differences and calculation methods. Watch it for more insights on using Eclipse MAT effectively.

Eclipse MAT – Titbits

Eclipse MAT is an effective JVM Memory Analysis tool, with a strong recommendation for its stand-alone version over the plugin. Key tips include allocating extra heap space, enabling 'keep unreachable objects' for better visibility, and adjusting data display settings to more readable formats like KB, MB, and GB for easier analysis.