public class ThreadDumpper extends Object
由程序触发的ThreadDump,打印到日志中.
因为ThreadDump本身会造成JVM停顿,所以加上了开关和最少间隔时间的选项(默认不限制)
因为ThreadInfo的toString()最多只会打印8层的StackTrace,所以加上了最大打印层数的选项.(默认为8)
| 构造器和说明 |
|---|
ThreadDumpper() |
ThreadDumpper(long leastIntervalMills,
int maxStackLevel) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
setEnable(boolean enable)
快速关闭打印
|
void |
setLeastInterval(int leastIntervalSeconds)
打印ThreadDump的最小时间间隔,单位为秒,默认为0不限制.
|
void |
setMaxStackLevel(int maxStackLevel)
打印StackTrace的最大深度, 默认为8
|
void |
threadDumpIfNeed()
符合条件则打印线程栈.
|
void |
threadDumpIfNeed(String reasonMsg)
符合条件则打印线程栈.
|
public ThreadDumpper()
public ThreadDumpper(long leastIntervalMills,
int maxStackLevel)
public void threadDumpIfNeed()
public void threadDumpIfNeed(String reasonMsg)
reasonMsg - 发生ThreadDump的原因public void setEnable(boolean enable)
public void setLeastInterval(int leastIntervalSeconds)
public void setMaxStackLevel(int maxStackLevel)
Copyright © 2019. All rights reserved.