タグ

performanceとjavaに関するryshinozのブックマーク (1)

  • HashMapの大きさ: 柴田 芳樹 (Yoshiki Shibata)

    Javaのソースコードをレビューしていると、HashMapを作成して、キーと値の組を数個しか入れていないものを見かけたりしています。実際、マッピングとして、3個のキーと値の組しか入れていなくて、そのようなHashMapを3個作成しているコードがありました。 そこで、HashMapのオブジェクトの大きさを調べてみました。HashMapを作成すると、そのインスタンスには、以下のインスタンスフィールドが含まれます。 (配列)参照型 1個、int型 3個、float型 1個 これだけで、5個×4バイト=20バイトです。参照型は、ネストしたクラスであるEntry型の配列となっており、最初にデフォルトでは大きさ16の配列が生成されています。つまり、16×4バイト=64バイトの大きさの配列です。したがって、デフォルトのままでHashMapを生成すると、84バイトは最低限消費します。 そこに、3個のキーと

    HashMapの大きさ: 柴田 芳樹 (Yoshiki Shibata)
  • 1