静态字段的资源使用情况

时间:2016-10-30 08:55:02

标签: java static cpu-usage

我想知道在资源使用方面是否昂贵,以声明一个静态字段来跟踪我需要数千次的类中该类的所有istances。我通常会创建另一个类,如下面的示例,但我想知道是否可以在不浪费资源的情况下使一切更紧凑。

1

public class Object {
    public static List<Object> objects = new ArrayList<>();
    public Object() {
        objects.add(this);
    }
    //My code
}

2

public class Object {
    public Object() {
        ObjectManager.addObject(this);
    }
    //My code
}

public class ObjectManager {
    private static List<Object> objects = new ArrayList<>();
    public static void addObject(Object obj) {
        objects.add(obj);
    }
}

这两种方法有什么区别?

1 个答案:

答案 0 :(得分:0)

除了&#34;对象&#34;的可见性之外,您的示例之间没有实际差异。字段。

PS:您的代码会导致内存泄漏,因为您永远不会从列表中删除对象。