web-dev-qa-db-ja.com

クラスクラス[BはJavaで何を表しますか?

私のJavaメモリ使用量をテストするために、ここでツールjhatを試しています。ヒープのダンプファイルを読み取り、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などのクラスは何ですか?

56
erotsppa

これらはプリミティブの配列です([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)

Class.getName のJavadocも参照してください。

105
Aaron Digulla

文字(C)/バイト(B)/整数(I)の配列のように見えます。

1
Rob Di Marco