如何在Eclipse探查器中显示java.lang。*对象分配?

时间:2010-06-07 13:38:16

标签: java eclipse profiling

使用Eclipse探查器,我对java.lang中分配的类实例数感兴趣(例如String)。我也想知道诸如String.equals()之类的电话号码之类的内容。

我使用“对象分配”选项卡,我在应用程序中显示所有类和计数,但没有提及任何标准java类。

例如,这个愚蠢的代码在“对象分配”标签中显示为1000 Foo7 byte[]4 char[]2 int[]。没别了。

public static void main(String[] args) 
{
    Object obj[] = new Object[1000];
    for (int i = 0; i < 1000; i++) {
        new Foo();  // Some custom class
        obj[i] = new StringBuffer("foo" + i);
    }
    System.out.println (obj[30]);
}

分析器似乎只是忽略了任何java。*包中的所有内容。这同样适用于执行统计。

我是否需要为核心java类启用检测,或者我在这里缺少一些设置?

1 个答案:

答案 0 :(得分:0)

如果您使用的是列出here的同一个Eclipse探查器,则需要设置包含/排除过滤器。在您的情况下,您可以将特定包或类添加到包含过滤器,或者只是从预定义的排除过滤器中删除它。我会选择前者作为更保守的方法,并且很可能对您的应用程序性能影响较小。从排除过滤器中删除某些内容可能会导致删除超出您的意图或想要的内容,这意味着需要检测更多代码。