我有一个需求,我需要分析jStack转储文件以获取处于不同状态的线程数。( Runnable / Sleeping / Waiting ...) 目前,我已经实现了一种方式,使得我的解析器逐行解析jStack文件以寻找模式匹配。
例如:
模式 THREAD_RUNNING_PATTERN = Pattern.compile(“ \”(?: Gang worker | VM |并发标记扫描 )。 runnable | java \ .lang \ .Thread \ .State:\ s RUNNABLE“);
这是我用来匹配处于可运行状态的线程的模式之一。
是否有更好的方法来实现这一点,而不是逐行解析,或者我们有可用的Java库吗?