我需要确定我的应用程序代码中哪些锁定是最具争议的。有哪些免费工具可以用来确定这一点?
我需要确定我的应用程序代码中哪些锁定是最具争议的。有哪些免费工具可以用来确定这一点?
您可以在JDK的bin目录下使用jconsole或jstack。特别是jconsole,它允许您连接到进程并监视线程,包括它们锁定的资源,可以帮助您识别死锁状态。
JDK具有一些内置支持方法。在Unix系统下,可以使用kill -3命令终止进程;在Windows系统下,可以按Ctrl-Break组合键。这将显示完整的线程转储信息,以及任何检测到的死锁情况。此外,在线程转储中,您可以查看哪些线程拥有什么锁,并将它们与其他线程进行比较。