gpt4 book ai didi

java - 如何获得任意类的实例计数?

转载 作者:行者123 更新时间:2023-12-03 01:45:49 26 4
gpt4 key购买 nike

给定一个类(例如:foo.bar.MyClass),我如何获得 JVM 中存在的该类实例的数量?

谢谢

编辑:我正在寻找将检索此计数的代码。

编辑:更具体地说,方法Integer getInstanceCount(Class c)的实现

最佳答案

根据具体上下文,有三种甚至四种可能的答案。它们在这里:

  1. 如果你可以更改类的源代码,那么你可以添加一个静态计数器(参见@The Feast的回答)

  2. 如果您遇到内存问题,那么您应该使用内存分析器(请参阅@winSharp93),例如:http://java.sun.com/javase/6/docs/technotes/tools/share/jhat.html ,

  3. 如果您无权访问源代码,您可以向 JVM 注册一个检测代理,它将将该静态字段注入(inject)到您感兴趣的类中(不是微不足道,但可能)。有关仪器的教程可在此处找到:http://today.java.net/pub/a/today/2008/04/24/add-logging-at-class-load-time-with-instrumentation.html

  4. 如果您正在寻找一些公开此信息的 Java API,那么遗憾的是,答案是不支持此类工具。

关于java - 如何获得任意类的实例计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1908736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com