Je dois déterminer quels verrous sont les plus réclamés dans mon code d'application. Quels outils gratuits puis-je utiliser pour le déterminer?Quels outils gratuits sont disponibles pour analyser les conflits de verrous dans Java?
Répondre
vous pouvez utiliser jconsole ou jstack aussi bien dans le répertoire bin de votre JDK. La jconsole en particulier vous permet de vous connecter à votre processus et de surveiller les threads, y compris les ressources qu'ils ont verrouillées, et cela peut vous aider à identifier un état de blocage.
Le JDK a un support intégré - sous unix, kill -3 le processus, sous windows, ctrl-break. Cela affichera un vidage de thread complet, suivi de tous les blocages détectés. De plus, dans le thread dump, vous pouvez voir quels threads possèdent les verrous, et les comparer les uns aux autres.
Vous n'avez pas besoin de tuer le processus pour obtenir un vidage de threads - exécutez simplement jstack
La commande kill -3 ne tue pas le processus. Cela ne fait que le signaler, mais le processus continuera à fonctionner. –
Vous pouvez également voir ceci dans le débogueur d'eclipse. Dans la vue Débogage, utilisez le petit menu vers le bas de la barre d'outils de la vue pour activer "Java-> Afficher les moniteurs". Lorsque vous suspectez un blocage, mettez l'application en pause (sélectionnez l'application dans la vue de débogage et appuyez sur le bouton de pause dans la barre d'outils de la vue de débogage) et en cas d'interblocage, les threads de blocage vireront au rouge. Si vous développez ces threads, vous pouvez voir la contention de verrouillage.
Si vous possédez le code, vous pouvez créer/rechercher une implémentation de verrouillage qui rassemble des statistiques de contention. Sinon, essayez les outils proposés dans les autres messages.
avez-vous des exemples de ce type de mise en œuvre (c.-à-d. Code java) – Rhubarb
- 1. Quels sont les meilleurs outils CASE gratuits pour PHP?
- 2. Quels sont les outils gratuits de contrôle des performances de Coldfusion 8 édition standard disponibles?
- 3. Quels sont les outils idéaux pour analyser les scripts SQL?
- 4. Quels outils d'administration gratuits sont disponibles pour SQL Server Express 2005?
- 5. Quels sont les outils disponibles pour les traitements par lots temporisés dans Java EE?
- 6. Quels outils freeware/floss sont disponibles pour charger les données dans SPSS?
- 7. Quels sont les outils de couverture de code pour Perl?
- 8. Quels sont les outils disponibles pour créer en cours des serveurs COM en Java?
- 9. Quels sont les bons outils disponibles pour créer de l'aide en ligne pour les applications .net?
- 10. Quels outils de génération automatique de code sont disponibles pour les classes Castle ActiveRecord?
- 11. Quels sont les remplacements disponibles pour vbscript dans une application?
- 12. Quels outils sont disponibles pour tester les performances des instructions SQL?
- 13. Outils d'interface utilisateur gratuits pour les développeurs
- 14. Quels sont les outils disponibles pour compiler des projets .NET vers des binaires natifs autonomes?
- 15. Quels garbage collectors sont disponibles pour C++?
- 16. Quels sont les outils qui peuvent analyser l'utilisation de la mémoire en dehors du tas dans Java?
- 17. Quels sont les clients GUI disponibles pour Mercurial?
- 18. Quels outils (gratuits ou non) trouvez-vous utiles pour développer et déboguer C#/C++?
- 19. Quels outils utilisez-vous pour analyser du texte?
- 20. Quels sont les meilleurs outils pour apprendre le reverse engineering
- 21. Quels add-ons/utilitaires sont disponibles pour TFS?
- 22. Quels types d'options d'authentification sont disponibles pour les sites Web et les applications Web?
- 23. Des outils gratuits pour les tests de service Web avec le support NTLM2?
- 24. Quels outils de journalisation de débogage sont disponibles à partir de Javascript?
- 25. Quels moteurs de modèles sont disponibles pour ASP.NET MVC Framework?
- 26. Quels sont les outils du bytecode CLR/.NET?
- 27. Quels autres gestionnaires de session sont disponibles pour Emacs?
- 28. Quels sont les meilleurs outils de modélisation de base de données disponibles en général et spécifiquement pour MySQL?
- 29. Quels frameworks C++ HTTP sont disponibles?
- 30. Quels sont les meilleurs outils pour les applications de test d'unité iPhone?
Je pense que la question se rapporte à quelques statistiques sur la contention de verrou pendant l'exécution de l'application - qui sont les verrous chauds dans le système. – akarnokd