【发布时间】:2012-06-25 11:57:12
【问题描述】:
我想分析一个小型应用程序执行的某个部分。有没有办法从要分析的应用程序中触发 VisualVM 中的数据收集?换句话说,是否可以将代码添加到已分析的应用程序中,以便在 VisualVM 中的分析将在此代码被命中时自动启动?
meaninglessCode();
// How to start data collection?
com.sun.tools.visualvm.....startSampling();
//
codeToBeProfiled();
// How to stop data collection?
com.sun.tools.visualvm.....stopSampling();
//
furtherMeaninglessCode();
我当前的解决方法是调用Thread.sleep,让我有时间按下 VisualVM GUI 中的按钮,但这远不能令人满意。几个谷歌搜索没有显示任何成功。我很感激任何提示。
【问题讨论】:
-
能否将数据采集部分隔离出来,作为自己的应用运行?
-
@jayeff OP 指的是分析数据。