jVisualVM 中采样和分析之间的差异
2022-08-31 07:18:06
VisualVM 有两个单独的选项卡,用于采样和分析。VisualVM 中的采样和分析有什么区别?
VisualVM 有两个单独的选项卡,用于采样和分析。VisualVM 中的采样和分析有什么区别?
Sampling
意味着获取大量线程转储并分析堆栈跟踪。这通常更快,不需要对字节码进行运行时更改(这可能会破坏它),但也不太准确。
Profiling
意味着检测类和方法,以便它们在运行时“报告”。这更准确,因为它计算了检测方法的每次调用,而不仅仅是那些在转储完成时捕获的调用。但是,检测意味着类的字节码已更改,这可能会破坏程序。实际上,出于这个原因,在大型应用程序服务器(如JBoss或WebLogic)上使用性能分析通常会导致所有内容都死亡或挂起。