在visualvm堆转储中," Local Variable"之后的数字是多少?对于线程?

时间:2016-05-23 21:59:59

标签: java visualvm heap-dump

我正在使用VisualVM分析堆转储中的线程,并且想知道下面线程中的Local Variable: byte[]意味着什么后的计数?它是指变量的大小吗?或变量的实例总数?或其他什么?

"Multicast Heartbeat Receiver Thread" daemon prio=5 tid=38 RUNNABLE
    at java.util.zip.Inflater.inflateBytes(Native Method)
    at java.util.zip.Inflater.inflate(<unknown string>)
       Local Variable: java.util.zip.ZStreamRef#366
       Local Variable: java.util.zip.Inflater#366
    at java.util.zip.InflaterInputStream.read(<unknown string>)
    at java.util.zip.GZIPInputStream.read(<unknown string>)
    at net.sf.ehcache.distribution.PayloadUtil.ungzip(PayloadUtil.java:194)
       Local Variable: java.util.zip.GZIPInputStream#1
       Local Variable: byte[]#537427
       Local Variable: byte[]#537474
       Local Variable: java.io.ByteArrayOutputStream#317
    at net.sf.ehcache.distribution.MulticastKeepaliveHeartbeatReceiver$MulticastReceiverThread.processPayload(MulticastKeepaliveHeartbeatReceiver.java:142)
       Local Variable: org.glowroot.agent.model.TraceEntryImpl#12145
       Local Variable: org.glowroot.agent.model.OptionalThreadContextImpl#7
    at net.sf.ehcache.distribution.MulticastKeepaliveHeartbeatReceiver$MulticastReceiverThread.run(MulticastKeepaliveHeartbeatReceiver.java:126)
       Local Variable: byte[]#4513

1 个答案:

答案 0 :(得分:3)

#之后的数字是序列号。例如。 Local Variable: byte[]#537427表示这是您{53}的byte[]实例。

如果您点击visual vm中的instances标签,就会很清楚。在下面的图片中,我看到了我的测试程序中所有字节数组的列表,从#1开始列举,其中 N项表示数组的大小。

enter image description here