【发布时间】:2013-09-10 18:04:42
【问题描述】:
我有课
class Foo {
private static Foo foo_obj = null;
public Foo() {
if (foo_obj == null) {
foo = this;
}
}
}
我收到有关泄漏此问题的警告,我将如何修复它。
【问题讨论】:
标签: memory-leaks pmd resource-leak
我有课
class Foo {
private static Foo foo_obj = null;
public Foo() {
if (foo_obj == null) {
foo = this;
}
}
}
我收到有关泄漏此问题的警告,我将如何修复它。
【问题讨论】:
标签: memory-leaks pmd resource-leak
您似乎正在尝试使用单例模式。这是一种奇怪的做法,但不起作用。因为每次 Foo() 被实例化时,你都会创建一个新的。为什么不使用更传统的方法,例如:
class Foo {
private static Foo foo_obj = new Foo();
private Foo() {}
public static Foo getInstance() { return Foo(); }
}
【讨论】: