1

これは明らかなように思えますが、これが私が思うほど明確であることを確認したいだけです。

オブジェクト参照 (32 ビット Java で) は 4 バイトを使用します。バイト (ボックス化されたプリミティブ) は 1 バイトを占めます。

では、多くのエントリを持つ HashMap は、キーの参照とは対照的に、Bytes を使用するとメモリ フットプリントがかなり小さくなるでしょうか?

4

1 に答える 1

4

ではHashMap、多くのエントリを持つ は、キーの参照ではなくバイトを使用すると、メモリ フットプリントがかなり小さくなるでしょうか?

のキーとして使用することはできません。Java ジェネリックでは、型引数にプリミティブ型を使用できません。を使用できますが、それではただのボクシングです。byteHashMapByte

本当にキーの型として使用しようとしている場合はbyte、代わりにサイズ 256 の配列を使用したくなるでしょう...

于 2012-07-19T11:48:44.080 に答える