Java でのオブジェクトのサイズの確認
Java では、データ構造を比較するときに、オブジェクトのメモリ フットプリントを決定するという問題が頻繁に発生します。 。ただし、sizeOf() メソッドを備えた C/C とは異なり、Java にはこの目的のための明示的なメソッドがありません。
解決策: java.lang.instrumentation の利用
不足している点Java の組み込みメソッドの場合は、別のアプローチが必要になります。適切な解決策の 1 つは、java.lang.instrumentation パッケージを利用することです。このパッケージは、オブジェクトのサイズの実装固有の近似値と関連するオーバーヘッドを提供するメソッドを提供します。
コード例:
次のコード スニペットは、オブジェクト サイズを取得するための java.lang.instrumentation パッケージの使用法:
<code class="java">import java.lang.instrument.Instrumentation; public class ObjectSizeFetcher { private static Instrumentation instrumentation; public static void premain(String args, Instrumentation inst) { instrumentation = inst; } public static long getObjectSize(Object o) { return instrumentation.getObjectSize(o); } }</code>
オブジェクトのサイズを確認するには、単に getObjectSize メソッドを使用します:
<code class="java">public class C { private int x; private int y; public static void main(String [] args) { System.out.println(ObjectSizeFetcher.getObjectSize(new C())); } }</code>
以上がJava でオブジェクトのサイズを決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。