2016-09-02 9 views
0

この質問に出くわして、どういうことが本当ですか?これらの変数のすべてがスペースの同じ量を取る、JavaパースペクティブからJavaメモリの使用方法 - 同じ領域を持つ

int num = 14; 
int num2 = 3242424324; 
String place = "Gilbert, Arizona"; 
String txt = null; 

: 次のコードスニペットを考えてみましょう。どうしてこれなの? 私はすべてが同じスペースを取ることを消化することができません。

+3

「Javaの観点からは、これらの変数はすべて同じ容量を占めます」 - これはどこで分かったのですか? – kosa

答えて

5

正確にはありません。 placeは、intより大きい可能性のあるヒープ上のオブジェクトへの参照のですが、参照自体はまだちょうど4バイトで、intと同じです。オブジェクト全体を見渡すと、メモリ消費量が増えます。

0

すべての参照は、その型が何であっても同じサイズです。

オブジェクトがヒープ上にあり、名前を持たないことがわかります。したがって、参照以外のオブジェクトにアクセスする方法はありません。また、オブジェクトはすべて異なる形状とサイズで来るので、さまざまな量のメモリを消費します。

関連する問題