如果我将一个新对象设置为已经有另一个对象的变量,那么旧对象会发生什么?

时间:2017-04-26 18:58:34

标签: java variables object memory

我想知道当前面指向它们的变量指向另一个对象时,旧对象会发生什么。它们被删除了还是什么?

classA var = new classA();
var = new classB();

当变量“var”设置为等于对象“classB”时,对象“classA”(在变量“var”中创建)是否被删除?

1 个答案:

答案 0 :(得分:3)

当对对象的所有引用都不存在时,它就有资格作为垃圾进行处理。垃圾收集器迟早会从内存中删除此对象。但如果有足够的记忆,那么'后来'可能根本不会发生:没有保证。