【发布时间】:2015-05-18 00:39:38
【问题描述】:
只是一个非常简单的问题,在 Java 中,如果我将我的类的一个实例设置为全局变量,例如:
MyClass mc = new MyClass();
如果我稍后在代码中为它分配了一个新的类实例:
mc = new MyClass();
类的旧实例会发生什么情况,它会导致内存泄漏吗?这是不好的做法吗?
干杯。
【问题讨论】:
-
Java 没有全局变量,仅供参考。
-
根据下面的答案,这不是问题。旧值是垃圾收集的(假设没有其他东西引用它)。至于“坏习惯”,我认为最好分配一次变量并避免重新分配它 - 但这纯粹是为了可读性和减少错误。但在同样的情况下,重新分配变量是最干净的解决方案,因此这不是硬性规定。