我如何从我的应用程序中检测到它是用 JProfiler 启动的?

How do I detect from my application that it was started with JProfiler?

我知道我 "shouldn't do this",但我 fiddle 有点用 ClassLoaders,JProfiler 不喜欢那样,它对我想要分析的内容没有任何作用,所以请坚持这个问题:)。

如何从我的应用程序中检测到它是使用 JProfiler 启动的?或者也许只是 JProfiler 当前已连接?

如果你知道怎么做,答案很简单:

public static boolean isStartedWithJProfiler() {
    RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
    List<String> arguments = runtimeMxBean.getInputArguments();
    for( String argument : arguments ) {
        if( argument.contains("profilerti") ) {
            return true;
        }
    }
    return false;
}