java - jVisualVM中采样和分析的区别

标签 java jvm heap-memory jvisualvm

VisualVM 有两个单独的选项卡用于采样和分析。 VisualVM 中的采样和分析有​​什么区别?

最佳答案

Sampling 意味着进行大量线程转储并分析堆栈跟踪。 这通常更快,不需要在您的字节码中进行运行时更改(这可能会破坏它),但也不太准确。

Profiling 表示 instrumenting您的类和方法,因此它们在运行时“报告”。这更准确,因为它计算每次检测方法的调用,而不仅仅是在转储完成时捕获的那些。然而检测意味着你的类的字节码被改变了,这可能会破坏你的程序。实际上,出于这个原因,在大型应用程序服务器(如 JBoss 或 WebLogic)上使用分析通常会导致一切死机或挂起。

关于java - jVisualVM中采样和分析的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12130107/

相关文章:

java - 是否可以监视(检测、跟踪等)JVM 中基本类型的 I/O Activity ?

c++ - 使用 DLL 代码时堆损坏

Java - 遍历数组节点

java - 当 Java 包不属于顶级域时,您如何命名它?

java - TableCellRenderer 以及如何在不使用 JTable.repaint() 的情况下刷新单元格背景

java - PermGen 空间的意义

java - 如何计算方法描述符的参数数量?

java - 您如何获得适用于 Android 的简单相机程序?

c++ - 在堆上存储整数数组并通过指针访问它们

c++ - 调用堆栈和堆栈有什么区别?