次のコードで可変出力が得られる理由:
Runtime rt = Runtime.getRuntime();
long x,y;
x = rt.freeMemory();
char z[] = new char[Index];
y = rt.freeMemory();
System.out.println("Difference = " + (x-y))
出力は、インデックスの値が小さい場合 (<10000) はゼロですが、値 >=100000 の場合、値は 200016 です。ゼロを追加するたびに、2000016 になります。
それはどのように可能ですか。[編集]私の目的は、メモリ内のデータオブジェクトのサイズを見つけることです(コードで使用されています-ここではインデックスサイズのChar z []を使用しています)。