-XX:-PrintConcurrentLocks
Вот такое получил (в случае embedded, а при запуске в режиме локального
или сетевого клиента застревающей жабы не наблюдается, приложение при
выходе завершается чисто) :
c:\Projects2008\Balti\Distr\SRC_local>java -XX:-PrintConcurrentLocks -jar
XD2K8BLT.jar
Full thread dump Java HotSpot(TM) Client VM (10.0-b19 mixed mode, sharing):
"TimerQueue" daemon prio=6 tid=0x03719800 nid=0xff8 in Object.wait()
[0x03baf000..0x03bafb14]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x22f3b128> (a javax.swing.TimerQueue)
at javax.swing.TimerQueue.run(Unknown Source)
- locked <0x22f3b128> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Unknown Source)
"DestroyJavaVM" prio=6 tid=0x002a5c00 nid=0xe90 waiting on condition
[0x00000000..0x0090fd4c]
java.lang.Thread.State: RUNNABLE
"AWT-EventQueue-0" prio=6 tid=0x02f97800 nid=0x700 in Object.wait()
[0x033cf000..0x033cfc14]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x22eb7830> (a java.awt.EventQueue)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x22eb7830> (a java.awt.EventQueue)
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)
"AWT-Windows" daemon prio=6 tid=0x02f92c00 nid=0x1f8 runnable
[0x0314f000..0x0314fc94]
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WToolkit.eventLoop(Native Method)
at sun.awt.windows.WToolkit.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"AWT-Shutdown" prio=6 tid=0x02abe400 nid=0x6cc in Object.wait()
[0x030ff000..0x030ffd14]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x22eb7970> (a java.lang.Object)
at java.lang.Object.wait(Object.java:485)
at sun.awt.AWTAutoShutdown.run(Unknown Source)
- locked <0x22eb7970> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
"Java2D Disposer" daemon prio=10 tid=0x02abd800 nid=0x688 in Object.wait()
[0x030af000..0x030afd94]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x22eb7a00> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x22eb7a00> (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)
"Low Memory Detector" daemon prio=6 tid=0x02aa6000 nid=0xa70 runnable
[0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x02aa0800 nid=0xdf8 waiting on
condition [0x00000000..0x02d1f740]
java.lang.Thread.State: RUNNABLE
"Attach Listener" daemon prio=10 tid=0x02a9f800 nid=0x100 runnable
[0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x02a9e800 nid=0xff0 waiting on
condition [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=8 tid=0x02a5e400 nid=0xf8 in Object.wait()
[0x02c2f000..0x02c2fc94]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x22e769d8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x22e769d8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
"Reference Handler" daemon prio=10 tid=0x02a5d400 nid=0xd3c in
Object.wait() [0x02bdf000..0x02bdfd14]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x22e76778> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
- locked <0x22e76778> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x02a5c000 nid=0xdc runnable
"VM Periodic Task Thread" prio=10 tid=0x02ab8400 nid=0xdfc waiting on
condition
JNI global references: 1202
Heap
def new generation total 960K, used 854K [0x22970000, 0x22a70000,
0x22e50000)
eden space 896K, 88% used [0x22970000, 0x22a364c8, 0x22a50000)
from space 64K, 96% used [0x22a50000, 0x22a5f700, 0x22a60000)
to space 64K, 0% used [0x22a60000, 0x22a60000, 0x22a70000)
tenured generation total 4096K, used 1843K [0x22e50000, 0x23250000,
0x26970000)
the space 4096K, 45% used [0x22e50000, 0x2301cee8, 0x2301d000,
0x23250000)
compacting perm gen total 12288K, used 2977K [0x26970000, 0x27570000,
0x2a970000)
the space 12288K, 24% used [0x26970000, 0x26c58550, 0x26c58600,
0x27570000)
ro space 8192K, 62% used [0x2a970000, 0x2ae728e8, 0x2ae72a00,
0x2b170000)
rw space 12288K, 52% used [0x2b170000, 0x2b7b85d8, 0x2b7b8600,
0x2bd70000)