| Modifier and Type | Field and Description |
|---|---|
| private final Set | |
| private final Map | lockOrdering
Map of (object A) -> ( map of (object locked before object A) -> (stack trace where locked) ) |
| private volatile boolean | |
| private Thread | |
| private final ThreadMXBean | |
| private final int |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private static void | |
| private static void | generateOrdering(List<String> lockOrder, ThreadInfo info)
We cannot simply call getLockedMonitors because it is not guaranteed to return the locks in the correct order. |
| private static String | |
| private static String | getStackTraceForThread(ThreadInfo info)
Dump data in the same format as |
| private synchronized void | |
| private void | |
| public synchronized void | |
| public void | |
| public AbbaLockingDetector | |
| public AbbaLockingDetector | |
| private void |
| knownDeadlocks | back to summary |
|---|---|
| private final Set<String> knownDeadlocks | |
| lockOrdering | back to summary |
|---|---|
| private final Map<String, Map<String, String>> lockOrdering Map of (object A) -> ( map of (object locked before object A) -> (stack trace where locked) ) | |
| stop | back to summary |
|---|---|
| private volatile boolean stop | |
| thread | back to summary |
|---|---|
| private Thread thread | |
| threadMXBean | back to summary |
|---|---|
| private final ThreadMXBean threadMXBean | |
| tickIntervalMs | back to summary |
|---|---|
| private final int tickIntervalMs | |
| AbbaLockingDetector | back to summary |
|---|---|
| public AbbaLockingDetector() | |
| dumpStackTraceElement | back to summary |
|---|---|
| private static void dumpStackTraceElement(ThreadInfo info, StringBuilder sb, int i, StackTraceElement e) | |
| generateOrdering | back to summary |
|---|---|
| private static void generateOrdering(List<String> lockOrder, ThreadInfo info) We cannot simply call getLockedMonitors because it is not guaranteed to return the locks in the correct order. | |
| getObjectName | back to summary |
|---|---|
| private static String getObjectName(MonitorInfo info) | |
| getStackTraceForThread | back to summary |
|---|---|
| private static String getStackTraceForThread(ThreadInfo info) Dump data in the same format as | |
| markHigher | back to summary |
|---|---|
| private synchronized void markHigher(List<String> lockOrder, ThreadInfo threadInfo) | |
| processThreadList | back to summary |
|---|---|
| private void processThreadList(ThreadInfo[] threadInfoList) | |
| reset | back to summary |
|---|---|
| public synchronized void reset() Reset the state. | |
| run | back to summary |
|---|---|
| public void run() Implements java. Doc from java. Runs this operation.
| |
| startCollecting | back to summary |
|---|---|
| public AbbaLockingDetector startCollecting() Start collecting locking data.
| |
| stopCollecting | back to summary |
|---|---|
| public AbbaLockingDetector stopCollecting() Stop collecting.
| |
| tick | back to summary |
|---|---|
| private void tick() | |