这是计算对象实例的有效方法吗?或者我不应该重写finalize?
public class MyClass{
private int instances;
public MyClass(){
instances++;
}
@Override
public void finalize(){
instances--;
}
public static int getInstances(){
return instances;
}
}
解决方案不必是线程安全的
最佳答案
将实例
标记为静态 volatile
。其次,绝不重写finalize
方法。另外,在代码中,请注意,您无法在 public static int getInstances
方法中访问 instances
变量。
关于java - 这是计算对象实例的有效方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17475022/