假设 3 个对象每个都有一个 object 的引用x
,这 3 个引用中的每一个是否占用另一个内存字(例如 32 或 64 位,意味着总共 96 或 192 位),即使它们都已设置为同一个对象?
例如
X x = getX();
object1.x = x;
object2.x = x;
object3.x = x;
?
此外,如果我有一个HashMap<Character, Character>
,我总是输入完全相同的Character
对象作为键和值,它是否会占用双倍的引用内存HashSet<Character>
加上Characters
它们自己的内存量,即使相同的对象引用是每次都用于键和值?我知道这可能与第一个问题相同,但我想知道这种情况的行为是否会有所不同?
在每种情况下,如果根对象是static
,那么引用是存储在堆栈还是堆中?