3つのオブジェクトがそれぞれオブジェクトへの参照を持っているとしましょうx
。これらの3つの参照のそれぞれは、すべてが設定されている場合でも、別のメモリワード(たとえば、32ビットまたは64ビット、合計96ビットまたは192ビット)を使用しますか?まったく同じオブジェクト?
例えば
X x = getX();
object1.x = x;
object2.x = x;
object3.x = x;
?
さらに、キーと値の両方としてHashMap<Character, Character>
常にまったく同じオブジェクトを入力するが、同じオブジェクト参照が存在している場合でも、参照の2倍のメモリとそれ自体のメモリ量を使用しますか?毎回キーと値の両方に使用されますか?これは最初の質問と同じかもしれませんが、このケースの動作が異なるのではないかと思います。Character
HashSet<Character>
Characters
これらの各ケースで、ルートオブジェクトがstatic
である場合、参照はスタックまたはヒープに格納されていますか?