我有几个类,其中一个需要计算创建对象的次数(称为lastId的int字段)。在c ++中,我们必须在主类中初始化静态字段值,然后才能在其他类中正确使用该静态字段并计算已创建的对象数量。Java呢?我必须在哪里初始化静态字段值。另外,我知道如何计算对象是否已创建,但是如果对象已删除怎么办?Java中没有析构函数,那么如何完成此工作?
如果您只想计算类型调用的活动对象数
jps -lvm # to find the pid of your process
jmap -histo {pid} # count all objects in the system
或者
jmap -histo:live {pid} # count objects referenced
这将按类为您提供实例数量的计数。
如果您想可视化您的应用程序正在做什么,请尝试
jvisualvm
这将提供诸如已用内存,线程等的统计信息,以及有关此处正在消耗CPU以及创建哪些对象的故障的统计信息。
Java呢?
您只需用类似的方法初始化它们
static int counter = 0;
我必须在哪里初始化静态字段值。
您将在同一位置初始化其他任何字段。
顺便说一句,如果你只是这样做
static int counter;
无论如何,默认情况下它将是0,所以我怀疑您不需要初始化它。
如果对象已删除怎么办?
这很容易,因为您无法删除对象。因此,答案始终为0。
Java中没有析构函数,那么如何完成此工作?
Java没有这样的东西,所以这个问题是毫无意义的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句