Java Swing 1.6使用小程序更新23个JVM锁

Java Swing 1.6使用小程序更新23个JVM锁,java,swing,applet,locking,jvm,Java,Swing,Applet,Locking,Jvm,我目前有一个applet,直到最近才发现它有问题,有时整个JVM都会被锁定,并且没有响应,包括Java控制台 小程序中更新UI的任何代码都在事件调度线程上运行。 当JVM被锁定时,我使用JVisualVM提供JVM的线程转储。我把输出数据附在下面。从我所看到的是有3个事件队列,但更令人担忧的是,我认为有2个EventDispatch线程在运行,并且在一个致命的拥抱中相互阻塞 小程序中的场景如下所示,用户希望在文本字段上浏览,因此我们启动JInternalFrame窗口中的浏览窗口,用户选择他们想

我目前有一个applet,直到最近才发现它有问题,有时整个JVM都会被锁定,并且没有响应,包括Java控制台

小程序中更新UI的任何代码都在事件调度线程上运行。 当JVM被锁定时,我使用JVisualVM提供JVM的线程转储。我把输出数据附在下面。从我所看到的是有3个事件队列,但更令人担忧的是,我认为有2个EventDispatch线程在运行,并且在一个致命的拥抱中相互阻塞

小程序中的场景如下所示,用户希望在文本字段上浏览,因此我们启动JInternalFrame窗口中的浏览窗口,用户选择他们想要的值,然后将该值插入文本字段,然后关闭浏览窗口

从我所看到的是,线程AWT-EventQueue-2正在更新EDT上的字段,并已在javax.swing.text.AbstractDocument.replace()中获取writeLock,并尝试使textfield无效,但等待线程AWT-EventQueue-0释放Treelock,然而AWT-EventQueue-0正在等待readlock()在同一字段上,但直到线程AWT-EventQueue-2释放writelock(即互锁)后才会继续。 我不明白的是,似乎至少有两个EDT

我知道我在这里可能很愚蠢,但有人能解释一下这个问题吗。提前谢谢

我的问题是,你认为这是一个JVM错误吗

这里感兴趣的线程是AWT-EventQueue-1、AWT-EventQueue-2和AWT-EventQueue-0

2011-05-26 12:32:43 Full thread dump Java HotSpot(TM) Client VM (19.0-b09 mixed mode, sharing): "JMX server connection timeout 1480" daemon prio=6 tid=0x048d0800 nid=0xbac in Object.wait() [0x056ef000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(Unknown Source) - locked (a [I) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "RMI Scheduler(0)" daemon prio=6 tid=0x04a72800 nid=0xf74 waiting on condition [0x047cf000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.util.concurrent.DelayQueue.take(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "RMI TCP Connection(2)-172.16.10.136" daemon prio=6 tid=0x0494c800 nid=0x7b8 runnable [0x0462f000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) - locked (a java.io.BufferedInputStream) at java.io.FilterInputStream.read(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - (a java.util.concurrent.locks.ReentrantLock$NonfairSync) "RMI TCP Accept-0" daemon prio=6 tid=0x050b0400 nid=0x860 runnable [0x036df000] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(Unknown Source) - locked (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(Unknown Source) at java.net.ServerSocket.accept(Unknown Source) at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "NativeSwing Receiver - Swing" daemon prio=4 tid=0x04aafc00 nid=0x164 runnable [0x0471f000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) - locked (a java.io.BufferedInputStream) at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source) at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source) at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.readUnshared(Unknown Source) at chrriis.dj.nativeswing.swtimpl.OutProcessSocketsMessagingInterface.readMessageFromChannel(OutProcessSocketsMessagingInterface.java:113) at chrriis.dj.nativeswing.swtimpl.MessagingInterface$2.run(MessagingInterface.java:361) Locked ownable synchronizers: - None "NativeSwing Stream Connector" daemon prio=4 tid=0x04915800 nid=0xf04 runnable [0x0569f000] java.lang.Thread.State: RUNNABLE at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) - locked (a java.io.BufferedInputStream) at java.io.FilterInputStream.read(Unknown Source) at chrriis.dj.nativeswing.swtimpl.NativeInterface$OutProcess$1.run(NativeInterface.java:801) Locked ownable synchronizers: - None "NativeSwing Stream Connector" daemon prio=4 tid=0x03330400 nid=0xe24 runnable [0x0564f000] java.lang.Thread.State: RUNNABLE at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) - locked (a java.io.BufferedInputStream) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) - locked (a java.io.BufferedInputStream) at java.io.FilterInputStream.read(Unknown Source) at chrriis.dj.nativeswing.swtimpl.NativeInterface$OutProcess$1.run(NativeInterface.java:801) Locked ownable synchronizers: - None "WebServer" daemon prio=4 tid=0x0489b400 nid=0xfc8 runnable [0x055ff000] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(Unknown Source) - locked (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(Unknown Source) at java.net.ServerSocket.accept(Unknown Source) at chrriis.common.WebServer$1.run(WebServer.java:720) Locked ownable synchronizers: - None "Registry cleanup thread" daemon prio=4 tid=0x04ad9400 nid=0xf94 waiting on condition [0x055af000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at chrriis.common.ObjectRegistry$1.run(ObjectRegistry.java:31) Locked ownable synchronizers: - None "Registry cleanup thread" daemon prio=4 tid=0x04c37400 nid=0x2e4 waiting on condition [0x054df000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at chrriis.common.ObjectRegistry$1.run(ObjectRegistry.java:31) Locked ownable synchronizers: - None "TimerQueue" daemon prio=4 tid=0x03378000 nid=0xa0 in Object.wait() [0x0486f000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at javax.swing.TimerQueue.run(Unknown Source) - locked (a javax.swing.TimerQueue) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "ConsoleWriterThread" daemon prio=6 tid=0x032b1400 nid=0x398 in Object.wait() [0x0476f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at com.sun.deploy.util.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source) - locked (a java.lang.Object) Locked ownable synchronizers: - None "Windows Tray Icon Thread" prio=6 tid=0x032a7800 nid=0xdbc runnable [0x046cf000] java.lang.Thread.State: RUNNABLE at com.sun.deploy.ui.WindowsJavaTrayIcon.mainLoop(Native Method) at com.sun.deploy.ui.WindowsJavaTrayIcon.access$700(Unknown Source) at com.sun.deploy.ui.WindowsJavaTrayIcon$2.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "TimerQueue" daemon prio=6 tid=0x032a2800 nid=0xf78 in Object.wait() [0x0467f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on (a javax.swing.TimerQueue) at javax.swing.TimerQueue.run(Unknown Source) - locked (a javax.swing.TimerQueue) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "thread applet-ClientApplet.class-1" prio=4 tid=0x03281400 nid=0x85c in Object.wait() [0x045df000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on (a java.lang.Object) at java.lang.Object.wait(Object.java:485) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) - locked (a java.lang.Object) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "AWT-EventQueue-1" prio=6 tid=0x0325b400 nid=0xe94 waiting for monitor entry [0x0457f000] java.lang.Thread.State: BLOCKED (on object monitor) at javax.swing.JComponent.paintChildren(Unknown Source) - waiting to lock (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintToOffscreen(Unknown Source) at javax.swing.BufferStrategyPaintManager.paint(Unknown Source) at javax.swing.RepaintManager.paint(Unknown Source) at javax.swing.JComponent._paintImmediately(Unknown Source) at javax.swing.JComponent.paintImmediately(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Locked ownable synchronizers: - None "AWT-EventQueue-2" prio=4 tid=0x03259800 nid=0xb0c waiting for monitor entry [0x0363f000] java.lang.Thread.State: BLOCKED (on object monitor) at java.awt.Component.invalidate(Unknown Source) - waiting to lock (a java.awt.Component$AWTTreeLock) at java.awt.Container.invalidate(Unknown Source) at javax.swing.JComponent.revalidate(Unknown Source) at javax.swing.plaf.basic.BasicTextUI$RootView.preferenceChanged(Unknown Source) at javax.swing.text.View.preferenceChanged(Unknown Source) at javax.swing.text.PlainView.updateDamage(Unknown Source) at javax.swing.text.PlainView.removeUpdate(Unknown Source) at javax.swing.text.FieldView.removeUpdate(Unknown Source) at javax.swing.plaf.basic.BasicTextUI$RootView.removeUpdate(Unknown Source) at javax.swing.plaf.basic.BasicTextUI$UpdateHandler.removeUpdate(Unknown Source) at javax.swing.text.AbstractDocument.fireRemoveUpdate(Unknown Source) at javax.swing.text.AbstractDocument.handleRemove(Unknown Source) at javax.swing.text.AbstractDocument.remove(Unknown Source) at javax.swing.text.AbstractDocument.replace(Unknown Source) at javax.swing.text.JTextComponent.setText(Unknown Source) at JCFTextField.setFieldData(Unknown Source) at JCFTextField.JC_setData(Unknown Source) at CTetraAppCommsCallBack.JC_SetData(Unknown Source) at ClientCommsManager.processComponentMsg(Unknown Source) at ClientCommsManager.commsInput(Unknown Source) at HTTPCommsThread$2.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Locked ownable synchronizers: - None "Applet 1 LiveConnect Worker Thread" prio=4 tid=0x03261800 nid=0xe3c in Object.wait() [0x044df000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker.run(Unknown Source) - locked (a java.lang.Object) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "Browser Side Object Cleanup Thread" prio=6 tid=0x03255800 nid=0x29c in Object.wait() [0x037ff000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at sun.plugin2.main.client.LiveConnectSupport$BrowserSideObjectCleanupThread.run(Unknown Source) Locked ownable synchronizers: - None "CacheCleanUpThread" daemon prio=6 tid=0x0322d000 nid=0x86c in Object.wait() [0x0377f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on (a com.sun.deploy.cache.CleanupThread) at java.lang.Object.wait(Object.java:485) at com.sun.deploy.cache.CleanupThread.run(Unknown Source) - locked (a com.sun.deploy.cache.CleanupThread) Locked ownable synchronizers: - None "CacheMemoryCleanUpThread" daemon prio=6 tid=0x03227c00 nid=0x554 in Object.wait() [0x0372f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source) Locked ownable synchronizers: - None "Java Plug-In Heartbeat Thread" prio=6 tid=0x02d66c00 nid=0xdcc waiting on condition [0x034af000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at sun.plugin2.main.client.PluginMain$HeartbeatThread.run(Unknown Source) Locked ownable synchronizers: - None "AWT-EventQueue-0" prio=6 tid=0x02d6e400 nid=0xd9c in Object.wait() [0x0368d000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at javax.swing.text.AbstractDocument.readLock(Unknown Source) - locked (a javax.swing.text.PlainDocument) at javax.swing.plaf.basic.BasicTextUI.paint(Unknown Source) at javax.swing.plaf.basic.BasicTextUI.update(Unknown Source) at javax.swing.JComponent.paintComponent(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JLayeredPane.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JLayeredPane.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JLayeredPane.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JViewport.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JLayeredPane.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JLayeredPane.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JSplitPane.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) - locked (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintToOffscreen(Unknown Source) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source) at javax.swing.RepaintManager$PaintManager.paint(Unknown Source) at javax.swing.BufferStrategyPaintManager.paint(Unknown Source) at javax.swing.RepaintManager.paint(Unknown Source) at javax.swing.JComponent._paintImmediately(Unknown Source) at javax.swing.JComponent.paintImmediately(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Locked ownable synchronizers: - None "AWT-Windows" daemon prio=6 tid=0x02cea800 nid=0x568 runnable [0x00a2f000] java.lang.Thread.State: RUNNABLE at sun.awt.windows.WToolkit.eventLoop(Native Method) at sun.awt.windows.WToolkit.run(Unknown Source) Locked ownable synchronizers: - None "AWT-Shutdown" prio=6 tid=0x02ce9c00 nid=0x608 in Object.wait() [0x0359f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at sun.awt.AWTAutoShutdown.run(Unknown Source) - locked (a java.lang.Object) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "Java2D Disposer" daemon prio=10 tid=0x02ccb800 nid=0x524 in Object.wait() [0x0354f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at sun.java2d.Disposer.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "Java Plug-In Pipe Worker Thread (Client-Side)" daemon prio=6 tid=0x0321c400 nid=0xbec runnable [0x034ff000] java.lang.Thread.State: RUNNABLE at sun.plugin2.os.windows.Windows.ReadFile0(Native Method) at sun.plugin2.os.windows.Windows.ReadFile(Unknown Source) at sun.plugin2.ipc.windows.WindowsNamedPipe.read(Unknown Source) at sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.read(Unknown Source) at sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.readByte(Unknown Source) at sun.plugin2.message.AbstractSerializer.readInt(Unknown Source) at sun.plugin2.message.transport.SerializingTransport.read(Unknown Source) at sun.plugin2.message.Pipe$WorkerThread.run(Unknown Source) Locked ownable synchronizers: - None "Timer-0" prio=6 tid=0x02d65c00 nid=0x4e8 in Object.wait() [0x0345f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on (a java.util.TaskQueue) at java.lang.Object.wait(Object.java:485) at java.util.TimerThread.mainLoop(Unknown Source) - locked (a java.util.TaskQueue) at java.util.TimerThread.run(Unknown Source) Locked ownable synchronizers: - None "traceMsgQueueThread" daemon prio=6 tid=0x02cef400 nid=0xb14 in Object.wait() [0x031cf000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source) - locked (a java.util.ArrayList) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "Low Memory Detector" daemon prio=6 tid=0x02c9e400 nid=0x834 runnable [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "CompilerThread0" daemon prio=10 tid=0x02c98800 nid=0xf0c waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Attach Listener" daemon prio=10 tid=0x02c96c00 nid=0xec waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Signal Dispatcher" daemon prio=10 tid=0x02c95800 nid=0x464 runnable [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Finalizer" daemon prio=8 tid=0x02c8e800 nid=0x900 in Object.wait() [0x02e5f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) Locked ownable synchronizers: - None "Reference Handler" daemon prio=10 tid=0x02c8d400 nid=0x71c in Object.wait() [0x02e0f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) - locked (a java.lang.ref.Reference$Lock) Locked ownable synchronizers: - None "main" prio=6 tid=0x002a8000 nid=0x380 in Object.wait() [0x0090f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at sun.plugin2.message.Queue.waitForMessage(Unknown Source) - locked (a sun.plugin2.message.Queue) at sun.plugin2.message.Pipe.receive(Unknown Source) at sun.plugin2.main.client.PluginMain.mainLoop(Unknown Source) at sun.plugin2.main.client.PluginMain.run(Unknown Source) at sun.plugin2.main.client.PluginMain.main(Unknown Source) Locked ownable synchronizers: - None "VM Thread" prio=10 tid=0x02c8bc00 nid=0x814 runnable "VM Periodic Task Thread" prio=10 tid=0x02ca9400 nid=0x4bc waiting on condition JNI global references: 2569 2011-05-26 12:32:43 全线程转储Java热点(TM)客户端VM(19.0-b09混合模式,共享): 对象中的“JMX服务器连接超时1480”守护程序prio=6 tid=0x048d0800 nid=0xbac.wait()[0x056ef000] java.lang.Thread.State:定时等待(在对象监视器上) 在java.lang.Object.wait(本机方法) 位于com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(未知源) -锁定(a[I) 位于java.lang.Thread.run(未知源) 锁定可拥有的同步器: -没有 “RMI计划程序(0)”守护程序prio=6 tid=0x04a72800 nid=0xf74等待条件[0x047cf000] java.lang.Thread.State:定时等待(停车) 在sun.misc.Unsafe.park(本机方法) -停车等待(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 位于java.util.concurrent.locks.LockSupport.parknos(未知源) 位于java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(未知源) 位于java.util.concurrent.DelayQueue.take(未知源) 位于java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(未知源) 位于java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(未知源) 位于java.util.concurrent.ThreadPoolExecutor.getTask(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源) 位于java.lang.Thread.run(未知源) 锁定可拥有的同步器: -没有 “RMI TCP连接(2)-172.16.10.136”守护进程prio=6 tid=0x0494c800 nid=0x7b8可运行[0x0462f000] java.lang.Thread.State:可运行 位于java.net.SocketInputStream.socketRead0(本机方法) 位于java.net.SocketInputStream.read(未知源) 位于java.io.BufferedInputStream.fill(未知源) 位于java.io.BufferedInputStream.read(未知源) -锁定(java.io.BufferedInputStream) 位于java.io.FilterInputStream.read(未知源) 位于sun.rmi.transport.tcp.tcpttransport.handleMessages(未知源) 位于sun.rmi.transport.tcp.tcpttransport$ConnectionHandler.run0(未知源) 位于sun.rmi.transport.tcp.tcpttransport$ConnectionHandler.run(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源) 位于java.lang.Thread.run(未知源) 锁定可拥有的同步器: -(一个java.util.concurrent.locks.ReentrantLock$NonfairSync) “RMI TCP Accept-0”守护程序prio=6 tid=0x050b0400 nid=0x860可运行[0x036df000] java.lang.Thread.State:可运行 位于java.net.PlainSocketImpl.socketAccept(本机方法) 位于java.net.PlainSocketImpl.accept(未知源) -锁定(一个java.net.socksocketimpl) 位于java.net.ServerSocket.implacpt(未知源) 位于java.net.ServerSocket.accept(未知源) 位于sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(未知源) 位于sun.rmi.transport.tcp.tcptTransport$AcceptLoop.executeAcceptLoop(未知源) 在sun.rmi.transport.tcp.tcpttransport$AcceptLoop.run处(未知源) 位于java.lang.Thread.run(未知源) 锁定可拥有的同步器: -没有 “NativeSwing接收器-Swing”守护程序prio=4 tid=0x04aafc00 nid=0x164可运行[0x0471f000] java.lang.Thread.State:可运行 位于java.net.SocketInputStream.socketRead0(本机方法) 位于java.net.SocketInputStream.read(未知源) 位于java.io.BufferedInputStream.fill(未知源) 位于java.io.BufferedInputStream.read(未知源) -锁定(java.io.BufferedInputStream) 位于java.io.ObjectInputStream$PeekInputStream.peek(未知源) 位于java.io.ObjectInputStream$BlockDataInputStream.peek(未知源) 位于java.io.ObjectInputStream$BlockDataInputStream.peekByte(未知源) 位于java.io.ObjectInputStream.readObject0(未知源) 位于java.io.ObjectInputStream.readUnshared(未知源) 在chrriis.dj.nativeswing.swtimpl.OutProcessSocketsMessageInterface.readMessageFromChannel(OutProcessSocketsMessageInterface.java:113)中 位于chrriis.dj.nativeswing.swtimpl.MessaginInterface$2.run(MessaginInterface.java:361) 锁定可拥有的同步器: -没有 “NativeSwing流连接器”守护程序prio=4 tid=0x04915800 nid=0xf04可运行[0x0569f000] java.lang.Thread.State:可运行 在java.io.FileInputS