执行如下命令会打印出一些内存统计信息,其中class name不太好理解。
jmap -histo 29929
num #instances #bytes class name ---------------------------------------------- 1: 1906383 196495280 [B 2: 282651 29711200 [I 3: 192538 19054440 [C 4: 281124 16844392 [[B 5: 561353 14572936 [Z 6: 280667 13426416 [Ljava.io.InputStream; 7: 278108 11124320 com.mysql.jdbc.PreparedStatement$BatchParams 8: 1242 5313728 [Ljava.lang.Object; 9: 102633 4926384 java.nio.HeapCharBuffer 10: 102632 4926336 java.nio.HeapByteBuffer 11: 151942 4862144 java.lang.String
解释如下:
[B == byte[]
[I == int[]
[[B == byte[][]
[C == char[]
[Z == boolean[]