タグ

ブックマーク / minghai.hatenadiary.org (2)

  • オブジェクトサイズを測ったら驚いた - minghaiの日記

    先日のInstrumentationTestを使ってみた。 IBMの虎のjava.lang.Objectのサイズはなんと12[bytes]だ。 今までSun、IBM両方を計ったが8バイト境界でないのは初めてだ。 ひょっとしてInstrumentation.getObjectSize()は実際に必要なサイズよりも少ない論理値を表示するのだろうか。 あわててVladimirさんの方法で測定してみた結果が次である。 'before' heap: 1015960, 'after' heap: 2615960 heap delta: 1600000, {class java.lang.Object} size = 16 bytes間違いなく、虎で追加されたgetObjectSize()は必要なヒープ量でなくオブジェクトの論理値しか表示しないようだ。これは少し不便かと思ったがIntelプラットフォーム

    オブジェクトサイズを測ったら驚いた - minghaiの日記
    rna
    rna 2008/02/26
    「8バイト境界を補正するものが正しい結果なようだ」
  • Javaのオブジェクトサイズの測り方、sizeof - minghaiの日記

    2009/03/01 追記 こちらにより新しい便利なツールが紹介されています。 いー ドット ぷりんとすたっくとれーす: Javaのインスタンスが使っているメモリサイズをみたい ↓以前の日記はここから Javaではオブジェクトのサイズは謎だった。 プリミティブな値のサイズは仕様書にて指定されているのだが、オブジェクトのサイズは仕様外であるので実装依存である。 またオブジェクトのサイズを測るAPIがJ2SDK1.4までは存在しなかったのでオブジェクトのサイズは重要な割りに謎だった。 特にOutOfMemoryを頻出するJ2EE開発者には咽喉から手が出るくらい欲しい機能であったと思う。*1 この謎を解明してくれたのがVladimir Roubtsovさんだ。 Java Tip 130: Do you know your data size? | JavaWorld Sizeof for Jav

    Javaのオブジェクトサイズの測り方、sizeof - minghaiの日記
    rna
    rna 2008/02/26
  • 1