java - 静态字段的资源使用情况

标签 java static cpu-usage

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

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);
    }
}

这两种方法有什么区别?

最佳答案

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

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

关于java - 静态字段的资源使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40327431/

相关文章:

JBoss(Wildfly 10.0) 上的 Java Web 应用程序未通过 Eclipse 部署

java - 在java中调用方法时标识符预期错误

c++ - 动态分配数组和静态数组的区别

c# - 如何衡量应用程序的性能?

memory - 获取 Yarn 应用程序的内存、CPU 和磁盘使用情况

ios - 如何找出高能和cpu影响的原因?

javascript - 如何完成WebSocket握手?

java - 将 @DataProvider 与 Jmockit 一起使用

java - 为什么在静态泛型方法的返回类型之前需要类型参数

java - 这个静态方法有什么作用?