私は、Javaのテーブルから行のセットを表すクラスを開発しています。行は、コンパクトまたは拡張形式のいずれかになります。関数呼び出しを使用して、オブジェクトの内部形式を検出できます。Javaにおけるメモリフットプリントの見積もり
コンパクトで拡張された形式でこのオブジェクトのメモリフットプリントを理解するための単体テストを作成しようとしていました。私はこのためにメモリメーターhttps://github.com/jbellis/jammを使用しました。私は、基本的なデータが異なる実行で同じままであっても、オブジェクトの深いサイズが異なって表示されていることに気づいた。私はこれと少し混乱しています。私の期待は、オブジェクトグラフをたどることによって、私はsizeof(オブジェクト)の正確な推定を得られるはずです。これは私が使用しているパッケージの問題か、間違っているのでしょうか?
迅速な対応に感謝します。同じテストケースで「同等」と言う場合、同じ数字(たとえば、実行ごとに550バイト)または小さな違いを意味しますか? C++では、sizeof()は特定のプラットフォームで非常に正確な見積もりを提供します。 – ToyElephant