2016-05-23 21 views
3

我正在使用VisualVM分析堆轉儲中的線程,我想知道在下面的線程中Local Variable: byte[]之後的計數是什麼意思?這是否意味着變量的大小?或變量的實例總數?還是其他什麼?在visualvm堆轉儲中,線程的「局部變量」之後的數字是多少?

"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 
+0

一個字節數組? –

回答

3

#之後的數字是序列號。例如。 Local Variable: byte[]#537427表示這是您的537427:byte[]的實例。

如果在可視虛擬機中單擊instances選項卡,就會很清楚。在下面的圖片中,我看到我的測試程序中的所有字節數組列表,從#1開始枚舉,其中N個項目表示數組的大小。

enter image description here