2009-09-23 12 views
41

Ich probiere hier ein Tool aus, um meine Java-Speicherauslastung zu testen. Es liest eine Heap-Dump-Datei ein und gibt Informationen als HTML aus. Die Tabellen zeigen jedoch wie folgt:Was bedeutet die Klassenklasse [B in Java?

Class Instance Count Total Size 
class [B 36585 49323821 
class [Lcom.sun.mail.imap.IMAPMessage; 790 16254336 
class [C 124512 12832896 
class [I 23080 11923504 
class [Ljava.lang.Object; 13614 6664528 
class java.lang.String 108982 2179640 
class java.lang.Integer 219502 878008 

Was sind diese [B [C etc Klassen?

+0

http://stackoverflow.com/questions/1040868/java-syntax-and-meaning-behind-b1ef9157-binary-address – erickson

Antwort

89

Dies sind Arrays von Primitiven ([B == byte[], [C == char, [I == int). [Lx; ist ein Array vom Typ x.

Für eine vollständige Liste:

[Z = boolean 
[B = byte 
[S = short 
[I = int 
[J = long 
[F = float 
[D = double 
[C = char 
[L = any non-primitives(Object) 
+0

[J bedeutet? [S bedeutet? – Chinaxing

+0

Eine vollständige Liste finden Sie unter http://stackoverflow.com/a/12505922/34088 oder http://docs.oracle.com/javase/tutorial/reflect/special/arrayComponents.html, um den Typ für sich selbst festzulegen. –

1

Sieht aus wie ein Array von Zeichen (C)/Bytes (B)/Ints (I).