在我的项目中,我们使用一个小型的 Java 分析工具。它显示了我们的应用程序加载到内存中的所有对象,并实时反射(reflect)了对象的变化。我们主要用它来调试。
我的问题是:它如何运作?外部应用程序如何知道我的应用程序已将哪些内容加载到内存中?有某种可用的 API 吗?
最佳答案
有多种可用选项。
- 创建一个堆转储并进行分析。
- 使用 Instrumentation API。请注意,这是一个非常高级的主题,大多数 Java 开发人员甚至不知道它的存在,也没有任何实际用途(尽管所提供的工具已被广泛使用)。
关于visualvm - 如何获取加载到内存中的对象的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24035948/