如何使用java堆分析器(HPROF)
有了java‘hprof’的基本知识,我尝试按照oracle文档执行以下命令如何使用java堆分析器(HPROF),java,hprof,Java,Hprof,有了java‘hprof’的基本知识,我尝试按照oracle文档执行以下命令 java -agentlib:hprof Hello.class 但是我得到了下面的错误,而不是分析信息 Caused by: java.lang.ClassNotFoundException: Hello.class at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.
java -agentlib:hprof Hello.class
但是我得到了下面的错误,而不是分析信息
Caused by: java.lang.ClassNotFoundException: Hello.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
有人能举例说明如何正确使用hprof以获取分析信息吗?您只需要删除类末尾的
。类,因为默认情况下Java
将搜索类文件
java -agentlib:hprof Hello
但是,要获得堆分配配置文件,您需要添加一些参数
java -agentlib:hprof=heap=sites Hello
有关详细信息,请键入
java -agentlib:hprof=help
访问我尝试对位于其他文件夹中的类运行该命令。我收到了与消息“找不到主类”相同的异常。知道如何解决这个问题吗?@aarish运行java
程序时,只能调用主文件(包含Main
方法的文件)。这就是为什么会出现这个错误method@aarish然后确保键入的方法正确,并且主方法声明是publicstaticvoidmain(字符串args[])