Object jProfiler实时内存所有对象视图

Object jProfiler实时内存所有对象视图,object,memory,jprofiler,Object,Memory,Jprofiler,我创建了以下简单的程序,只是为了在java中创建字符串列表时观察对象和内存信息 导入java.util.ArrayList; 导入java.util.List public class Main { public static void main(String[] args) { List<String> strObj = new ArrayList<String>(); for (int i = 0; i < 1000

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

导入java.util.ArrayList; 导入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");
        }
    }
}
公共类主{
公共静态void main(字符串[]args){
List strObj=new ArrayList();
对于(int i=0;i<1000;i++){
strObj.添加(“abc”);
}
}
}
但jProfiler在Live Memory->All Object view中向我显示了我无法理解的以下信息

创建了多少个char[]实例?我只创建了1000个字符串对象,大约创建了9000个

请帮助我解释此分析器信息


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


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

谢谢。。是否可以反过来查看-直接查看在特定类范围内创建的所有对象(例如,在我的案例中为Main类)?是的,甚至在动态视图中也可以这样做,分配视图显示该信息。您能给我一些详细信息吗?我对这个工具非常陌生,不熟悉这些术语分配视图等。它让我有一段时间甚至可以搜索累积的传入引用;)尝试查看Live Memory->分配调用树,它应该是自解释的,