jProfiler Live Memory所有对象视图

时间:2015-07-15 18:58:46

标签: object memory jprofiler

我创建了以下简单程序,只是为了在java中创建String列表时观察对象和内存信息。

import java.util.ArrayList; import java.util.List;

public class Main {

    public static void main(String[] args) {

        List<String> strObj = new ArrayList<String>();

        for (int i = 0; i < 1000; i++) {
            strObj.add("abc");
        }
    }
}

但jProfiler向我展示了Live Memory中的以下信息 - &gt;我无法理解的所有对象视图。

如何创建这么多char []实例?我只创建了1000个String对象,如何创建大约9000个?

请帮我解释一下这个分析器信息。

enter image description here

1 个答案:

答案 0 :(得分:1)

动态内存视图无法回答此问题。您必须转到堆walker并选择所有char[]个实例。然后查看&#34;累积的传入引用&#34;查看以分析实例的引用方式。

您还可以在启动时使用适当的录制配置文件打开分配录制,然后您可以看到它们的分配位置。