我正在尝试在 eclipse 中打印测试程序的 GC 详细信息。我只想为我的程序设置它,所以我转到运行>运行配置并在 VM 参数中给出了这个:
-Xms1024M -Xmx1024M –XX:+PrintGCDetails –XX:+PrintGCTimeStamps
但是,当我这样做并运行我的程序时,出现以下错误:
java.lang.NoClassDefFoundError: –XX:+PrintGCDetails
Caused by: java.lang.ClassNotFoundException: –XX:+PrintGCDetails
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)
我在传递参数时做错了什么。
最佳答案
应该提醒您的是错误消息 NoClassDefFoundError: –XX:+PrintGCDetails
- JVM 并没有尝试将其解析为一个选项,而是一个类...
然后,查看 -Xms1024M
和 –XX:+PrintGCDetails
/–XX:+PrintGCTimeStamps
之前的破折号 - 它们是不同的!
将后者替换为前者(即“真正的”破折号/减号)就可以了。
干杯,
关于java - 无法打印 GC 详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18442065/