查看某些正在运行的JVM中的所有对象

时间:2014-03-18 17:37:26

标签: java object jvm heap

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

例如,如果我有来自以下类的一些对象实例

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

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

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

我查看了JConsoleJava Flight Recorder,但这些并未提供我需要的功能。还有其他建议吗?

0 个答案:

没有答案