有人可以解释我的区别Sleeping,Wait,Park,和Monitor线程状态中的VisualVM.

这是我发现的:
Running:线程仍在运行.
Sleeping:thread正在休眠(在线程对象上调用方法yield())
Wait:线程被互斥锁或屏障阻塞,并且正在等待另一个线程释放锁
Park:挂起的线程被暂停,直到它们被给予许可.取消停放线程通常是通过在线程对象上调用方法unpark()来完成的
Monitor:线程正在等待条件变为true以恢复执行
我无法理解的是州立公园,实际上是什么暂停线程?如何在代码中检测到什么使线程暂停执行?
有人可以在这方面指导我.
谢谢.
我已经花了很长时间来加载和测试我的应用程序,现在我需要对其进行分析.但不幸的是,VisualVM总是在我的本地应用程序上说"不支持这个JVM"?
应用程序在与VisualVM相同的JVM上启动.
是否有可能在visual vm中设置内存,进程/ gc活动等图表在不降低x比例的情况下及时移动?当应用程序启动时,图形看起来不错,但是经过一段时间后,它们沿着x轴进行了严格的压缩,看到应用程序中实际发生了什么变得很麻烦.
我在本地运行的apache tomcat 7和作为.war文件部署到此服务器的Web应用程序.我正在尝试使用visualvm来分析应用程序,但到目前为止我只能分析tomcat本身.
我能够在界面中看到关于tomcat的所有内容,并且绝对没有问题.我能够看到独立的tomcat函数,这对我来说毫无意义.
我想看到的是我部署的Web应用程序的功能的执行时间,换句话说就是我自己的代码.但我无法做到这一点?有没有人设法做这个分析?我是否需要使用已部署的应用程序设置JMX连接?下面你可以找到我能够描述tomcat功能的屏幕.

我在我的本地Windows机器上使用Java VisualVM来监视我的远程服务器(Linux).除了" Visual GC " 之外,我能够在Bisual VM中获取所有统计数据.它显示"此JVM不支持".我用谷歌搜索它,发现它可能是因为jstatd没有运行和连接.所以执行了" jstatd -J-Djava.security.policy =/tmp/tools.policy ".它显示了一个ip" 175.41.139.225 ".我无法理解为什么它试图连接到这个IP.它不是我的远程机器的ip,也不是我的本地机器的ip.
[root@shipping_pt mail]# jstatd -J-Djava.security.policy=/tmp/tools.policy
Could not contact registry
Connection refused to host: 175.41.139.225; nested exception is:
java.net.ConnectException: Connection refused
java.rmi.ConnectException: Connection refused to host: 175.41.139.225; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:340)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at java.rmi.Naming.rebind(Naming.java:177)
at sun.tools.jstatd.Jstatd.bind(Jstatd.java:57)
at sun.tools.jstatd.Jstatd.bind(Jstatd.java:66)
at sun.tools.jstatd.Jstatd.main(Jstatd.java:143)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
at …Run Code Online (Sandbox Code Playgroud)