Что класс class [B представляет в Java?
Я пытаюсь использовать инструмент jhat, чтобы проверить использование памяти Java. Он читает в файле дампа кучи и выводит информацию в виде HTML. Тем не менее, таблицы показывают следующее:
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
Что это за классы [B [C и т. Д.?
2 ответа
Решение
Это массивы примитивов ([B == byte[]
, [C == char
, [I == int
). [Lx;
это массив типа класса x
,
Для полного списка:
[Z = boolean
[B = byte
[S = short
[I = int
[J = long
[F = float
[D = double
[C = char
[L = any non-primitives(Object)
Также см. Javadoc для Class.getName
,