Comment faire pour savoir quelle méthode est de prendre beaucoup de temps?
Un de mes composant prend trop de temps à s'exécuter. Il demande beaucoup de services, qui à son tour appelle de nombreuses méthodes dao. Maintenant, est-il possible d'obtenir le temps pris par chaque méthode qu'il appelle.
Je ne veux pas écrire System.currentmillis
avant et après chaque méthode pour calculer le temps est pris comme il y a un trop grand nombre de méthodes.
Je pense que j'ai peut-être besoin d'utiliser des intercepteurs ou peut-être tout profiler peut le faire. Je ne suis pas sûr, s'il vous plaît aider.
Je crois que la plupart des IDEs ont profiler fonctionnalité intégrée.
je suis à l'aide d'eclipse
Malheureusement, je suis un fan de Netbeans mais je tiens à ajouter que le temps mesuré par le profileur de vous donner uniquement te estimation relative. Il n'est pas le temps réel passé sur themethod. Le profileur besoin de s'attacher à la méthode, et qui entraîne une charge supplémentaire.
je suis à l'aide d'eclipse
Malheureusement, je suis un fan de Netbeans mais je tiens à ajouter que le temps mesuré par le profileur de vous donner uniquement te estimation relative. Il n'est pas le temps réel passé sur themethod. Le profileur besoin de s'attacher à la méthode, et qui entraîne une charge supplémentaire.
OriginalL'auteur Rakesh Juyal | 2011-02-28
Vous devez vous connecter pour publier un commentaire.
Utilisation
jvisualvm
qui devrait venir avec le JDK (si je me souviens bien). C'est une interface graphique pour votre JVM, et a vraiment de belles fonctions. Découvrez son caractéristiques il y a quelques captures d'écran ainsi...Et vous pouvez suivre ces étapes pour l'intégrer en tant que lanceur dans eclipse
Des mesures pour intégrer dans eclipse
Lorsque vous exécutez une application, vous devez activer cpu et de la mémoire profiler/sampler. Ensuite, vous aurez activement à voir les points chauds. Une fois l'exécution terminée il rassemble une très soigné rapport où vous pouvez superviser les différentes parties du logiciel qui obstrue. (voir: visualvm.java.net/images/profiler.jpg )j'Espère que ça aide.
OriginalL'auteur posdef
Vous pouvez utiliser le Java Profiler dans l'EDI NetBeans.
Ont un coup d'oeil ici: http://netbeans.org/features/java/profiler.html
La Java VisualVM est une autre alternative: http://java.net/projects/visualvm/content/ . Vous pouvez le joindre à l'exécution d'un programme Java, y compris ceux que vous commencez par Eclipse.
OriginalL'auteur Tom W
Ne le regardez pas comme la mesure du temps de trouver le problème.
Utiliser sa lenteur à les exposer.
Suffit d'utiliser la même méthode que vous feriez si c'était une boucle infinie.
Qui est, de le mettre en pause quelques temps alors qu'il est lent, et à chaque fois inspecter la pile des appels de chaque thread.
Le coupable de méthodes et de lignes de code apparaît sur plusieurs échantillons.
De vérifier la le dernier paragraphe de ce post.
Voici plus d'informations sur la façon dont il fonctionne.
OriginalL'auteur Mike Dunlavey