【问题标题】:How to monitor application information in java?如何在java中监控应用程序信息?
【发布时间】:2014-12-04 21:53:28
【问题描述】:

我想看看我的简单类创建的堆上的对象之类的东西。然而,当我使用 netbeans profiler 查看我正在运行的程序时,我看到了成千上万个类,大概是 java 在幕后所做的所有好事。

netbeans 分析器中是否有一种方法可以深入了解我的线程的详细信息,以及可以从我的线程访问的对象?有没有其他工具可以很好地做到这一点?

例如,我希望能够查看我是否正在创建任何大型、不必要的对象,我的对象正在使用多少内存,诸如此类。

我对mac/linux特别感兴趣。

【问题讨论】:

    标签: java performance monitoring jmx


    【解决方案1】:

    底部有一个文本框,您可以在其中过滤正在检查的类。在那里你应该写下你要检查的类的完整名称。

    (抱歉,找不到更精确的图像,但内存部分会出现相同的文本框)


    这是另一个图像,其中出现了文本框并且上面的文本很清晰:类名过滤器。只需写complete.nameof.YourClass,它就会显示必要的信息。


    (来源:java.net

    【讨论】:

    • 太好了 - 谢谢!如果我在我的类中分配一个 ArrayList ,我如何将它与所有其他 ArrayList 其他线程(如垃圾收集)分开?例如,有没有办法通过变量名来挑选对象?
    • @user384842 您无法在运行时知道变量的名称。所以,不可能从探查器那里知道这些信息。
    【解决方案2】:

    我对 NetBeans Profiler 了解不多,但我对工具有一些其他建议,因为我使用这些工具我更了解......

    如果您仍应使用 JDK 6,则可以使用 JRockit Mission Control 的 Memory Leak Analyzer 工具。

    否则可能是 MAT,或者 Java Flight Recorder(Java Mission Control)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 1970-01-01
      • 2011-02-28
      • 2013-08-26
      • 2011-06-21
      相关资源
      最近更新 更多