有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java可以在运行的JVM中查看所有对象

我有一个拥有20000多个对象的大型分布式应用程序。我希望能够在外部连接到这个正在运行的JVM,并随时查看任何任意对象及其属性

例如,如果我有以下类中的某个对象实例

class Temp {
    int attribute = 0;
    String name = "John";
}

我希望能够连接到JVM并查看该类的所有实例及其attributename

我相信这在堆转储中是可能的,但考虑到应用程序,这将非常昂贵。此外,当堆大小在1GB+范围内时,分析这样的堆转储非常具有挑战性。是否有其他实用程序可以提供所有对象的触发快照?或者是一个更聪明的方法来解决我的问题

我已经研究了JConsoleJava Flight Recorder,但是它们没有提供我需要的特性。还有其他建议吗


共 (0) 个答案