Что класс 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,

Выглядит как массив символов (C)/ байтов (B)/ints (I).

Другие вопросы по тегам