我需要确定哪些锁是最有争议的 - 在我的应用程序代码中。我可以使用哪些免费工具来确定?什么样的免费工具可用于分析java中的锁争用?
回答
你可以使用JConsole的或jstack无论是在你的JDK的bin目录。 jconsole特别允许你连接你的进程并监控线程,包括他们锁定的资源,它可以帮助你识别死锁状态。
JDK有一些内置的支持 - 在unix下,杀死-3进程,在windows下,ctrl-break。这将显示一个完整的线程转储,然后检测到任何死锁。另外,在线程dusmp中,您可以看到哪些线程拥有哪些锁,并将它们相互比较。
您不需要为了获得线程转储而终止进程 - 只需运行jstack
kill -3命令不会终止进程。它只是表明它,但过程将继续运行。 – 2013-01-06 13:47:56
你也可以在eclipse的调试器中查看它。在“调试”视图中,使用视图工具栏上的小下三角菜单打开“Java->显示监视器”。
当您怀疑发生死锁时,暂停应用程序(在调试视图中选择应用程序,然后按下调试视图工具栏上的暂停按钮),如果发生死锁,则阻塞线程将变为红色。如果展开这些线程,您可以看到锁争用。
如果您拥有该代码,则可以创建/查找收集争用统计信息的Lock实现。如果不是,请尝试其他帖子中建议的工具。
- 1. 什么是一些有趣的,免费的,用于Java的开源动态分析工具?
- 2. 有什么好的免费HttpDebugging工具
- 3. 适用于Linux的Java分析工具
- 4. 你会推荐什么样的免费开源开发工具?
- 5. 用于Java的免费类GUI网页设计工具?
- 6. Abaqus免费免费分析?
- 7. 找到竞争条件/死锁的C#/。NET分析工具
- 8. 什么静态分析工具可用于C#?
- 9. 我可以使用什么工具来分析Asp.Net中的ViewState?
- 10. 是否有可用于Eclipse的免费帮助创作工具?
- 11. 您使用Visual Studio的免费外部工具是什么?
- 12. 用于Eclipse的免费UML工具/插件可以生成Java代码?
- 13. 分析线程同步锁争用
- 14. 对于免费XSLT工具的建议
- 15. 什么样的工具可用于打包源代码
- 16. Java开发人员非常喜欢什么非免费工具
- 17. 可配置的免费差异工具?
- 18. 有没有免费的websphere 5分析工具?
- 19. Windows上的Tomcat - 免费分析和指标收集工具?
- 20. Web应用程序的免费样机工具?
- 21. 有什么工具可用于分析浏览器处理页面的时间
- 22. 免费的SQLite GUI工具?
- 23. 寻找一个免费的,时间采样分析器用于C++
- 24. 什么是解析/分析IIS日志的工具 - 理想的免费/开放源代码?
- 25. 用于分析OCaml代码的工具
- 26. 什么工具(免费或其他)对于开发和调试C#/ C++有用?
- 27. 用于执行分析的免费事件探查器
- 28. 分析退回的电子邮件 - 可用于dotnet的任何免费库吗?
- 29. 用于CSV文件的快速免费桌面SQL工具
- 30. 免费软件用于Linux的HTML创建工具
我认为这个问题涉及应用程序运行期间有关锁争用的一些统计信息 - 这是系统中的热门锁。 – akarnokd 2009-06-25 13:43:36