VisualVM possède deux onglets distincts pour l’échantillonnage et le profilage. Quelqu'un peut-il m’aider à comprendre la différence entre l’échantillonnage et les profils VisualVM ?
Réponse
Trop de publicités?Sampling
signifie prendre beaucoup de fil décharges et l'analyse de traces de pile.
C'est généralement plus rapide, ne nécessite pas de runtime changements dans votre bytecode (qui peut le casser), mais est également moins précis.
Profiling
moyen instrumentant vos classes et de méthodes, de sorte qu'ils "rapport" à chaque fois qu'ils sont exécutés. C'est plus précis, car il compte chaque invocation de méthode instrumentée, et pas seulement ceux pris lors de la décharge, c'est fait. Cependant instrumentation signifie que le bytecode des classes est changé, et cela pourrait briser votre programme. En fait, pour cette raison, en utilisant le profilage sur les grands serveurs d'application (comme JBoss ou WebLogic) provoque souvent tout de mourir ou de se bloquer.