假设我定义了一个新类,比如PhoneBook。 我做了以下事情:
Phonebook x = new Phonebook()
Phonebook x1=x
Phonebook x2=x
...
Phonebook x99 =x
然后这将不会消耗太多内存,因为所有100个变量都指向同一个电话簿?
由于
答案 0 :(得分:5)
正确。每个引用都会占用少量内存(通常在32位或64位系统上为4或8个字节),就是这样。
答案 1 :(得分:0)
如果这些是局部变量,它们不会消耗堆上的任何内存,因为它们在堆栈上。 Java指针的大小通常是JVM实现的32位。
答案 2 :(得分:-1)
是的确你也可以来我的博客Reference
真正消耗内存的是第一次new
电话簿,而Reference
Phonebook
的其余部分每个消耗大约4字节。