如何修复构造函数中的泄漏问题

时间:2013-09-10 18:04:43

标签: memory-leaks pmd resource-leak

我有一个班级

class Foo { 
   private static Foo foo_obj = null;

   public Foo() {
       if (foo_obj == null) {
           foo = this;
       }
   }
}

我收到关于泄漏这个的警告,我将如何修复它。

1 个答案:

答案 0 :(得分:0)

看起来你正在尝试使用单例模式。这是一种奇怪的方式,但不起作用。因为每次Foo()实例化时,都会创建一个新的。为什么不使用更传统的方法,如:

class Foo { 
   private static Foo foo_obj = new Foo();
   private Foo() {}
   public static Foo getInstance() { return Foo(); }
}

many variations of this pattern on wikipedia