我有点困惑:AFAIK VisualVM执行性能分析和采样,这是否意味着它不仅使转储(线程堆栈+内存状态)而且还检测代码?
[从这里:https://stackoverflow.com/a/12130149/10894456解释说,分析意味着检测。但是,VisualVM是自己制作仪器还是需要准备的东西(如Java Agent或其他东西)?
是,当您使用探查器时,VisualVM将根据需要检测字节码。这只能通过代理完成,因此VisualVM包括这样的Java代理。当您连接到同一台机器上的JVM时,它可能会使用Attach API至load the Agent into the target JVM dynamically。因此,在此用例中,不需要用户方面的其他准备步骤。