Assume we have a class:
class Account {
String name;
int ID;
}
那么
a1 = new Account();
a2 = new Account();
将创建2个变量,它们指向存储类Account的2个实例的2个内存位置。
我的问题是Java如何知道这些实例有多大以便分配它们的内存(因为对于String类型,我们可以给任何字符串赋值。例如,a1.name =“Solomon I”,a2.name =“Alan”。这将导致每个实例的大小不同)。
内存位置是一个“连续”的字节字符串。因此,如果我有a1 = new Account(),那么a2 = new Account() => a1的内存位置是固定的('used memory | a1 | a2'),那么如果我使a1.name成为一个非常长的字符串会发生什么?a1的内存位置会扩展到a2的内存位置吗?
感谢您阅读本文,请让我知道是否有任何误解。