What does the class class [B represents in Java?
I am trying out a tool jhat here to test my java memory usage. It reads in a heap dump file and prints out information as html. However, the tables shows as follows:
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
What are those [B [C etc classes?
Those are arrays of primitives ([B == byte[]
, [C == char
, [I == int
). [Lx;
is an array of class type x
.
For a full list:
[Z = boolean
[B = byte
[S = short
[I = int
[J = long
[F = float
[D = double
[C = char
[L = any non-primitives(Object)
Also see the Javadoc for Class.getName
.
Looks like an array of characters (C)/bytes (B)/ints (I).