本文介绍了这是计算对象实例的有效方法吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是计算对象实例的有效方法吗?或者我不应该覆盖finalize?
Is this a valid way to count instances of objects? Or should I not override finalize?
public class MyClass{
private int instances;
public MyClass(){
instances++;
}
@Override
public void finalize(){
instances--;
}
public static int getInstances(){
return instances;
}
}
解决方案不必是线程安全
The solution doesn't have to be Thread safe
推荐答案
将实例
标记为静态不稳定
。其次,从不覆盖 finalize
方法。此外,在代码AS-IS中,请注意您无法访问 public static int getInstances
实例变量>方法。
Mark instances
as static volatile
. And secondly, never override the finalize
method. Also, in the code AS-IS, note that you can't access to instances
variable in your public static int getInstances
method.
这篇关于这是计算对象实例的有效方法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!