160

VisualVM には、サンプリングとプロファイリング用の 2 つの個別のタブがあります。VisualVM でのサンプリングとプロファイリングの違いは何ですか?

4

1 に答える 1

185

Sampling多くのスレッド ダンプを取得し、スタック トレースを分析することを意味します。これは通常より高速で、バイトコードの実行時の変更を必要としません (破損する可能性があります) が、精度も低くなります。

Profilingクラスとメソッドを計測することを意味し、実行されるたびに「レポート」します。これは、ダンプが完了したときにキャッチされたものだけでなく、インストルメント化されたメソッドのすべての呼び出しをカウントするため、より正確です。ただし、インストルメンテーションはクラスのバイトコードが変更されることを意味し、これによりプログラムが破損する可能性があります。実際、そのため、大規模なアプリケーション サーバー (JBoss や WebLogic など) でプロファイリングを使用すると、すべてが停止したりハングしたりすることがよくあります。

于 2012-08-26T12:31:33.877 に答える