如何使用visualVM评测java应用程序?

如何使用visualVM评测java应用程序?,java,performance,jvm,profiler,visualvm,Java,Performance,Jvm,Profiler,Visualvm,我的老板想让我分析一下我们的产品应用程序,看看我们是否能在内存使用方面有所改进。当我分析内存时,我得到以下信息: 最后一列(“世代”)是什么意思?如何使用这些信息分析应用程序?关于“世代”列: VisualVM免费随Sun JDK6提供,源于Netbeans, 在JAVA_HOME/bin中查找jvisualvm。它包含一个内存分析器 它使用了一个称为“幸存的几代”(或简称“幸存的几代”)的指标 “世代”)。那么,什么是幸存的一代?幸存的 世代:上分配的所有对象的不同年代数 分析会话启动后的J

我的老板想让我分析一下我们的产品应用程序,看看我们是否能在内存使用方面有所改进。当我分析内存时,我得到以下信息:

最后一列(“世代”)是什么意思?如何使用这些信息分析应用程序?

关于“世代”列:

VisualVM免费随Sun JDK6提供,源于Netbeans, 在JAVA_HOME/bin中查找jvisualvm。它包含一个内存分析器 它使用了一个称为“幸存的几代”(或简称“幸存的几代”)的指标 “世代”)。那么,什么是幸存的一代?幸存的 世代:上分配的所有对象的不同年代数 分析会话启动后的JVM堆。客体年龄:客体年龄 对象的年龄是对象具有的垃圾收集数 幸免于难

摘自

关于如何分析数据,这是一个广泛的主题。我建议你看看这个:


幸存的几代人在博客文章中进行了解释。

很抱歉,我没有得到迅速的回应。但是第二个链接是一本书,不是免费的,你能免费给我一些信息吗?对于“世代”这一行,我可以这样理解吗:对于一个对象,如果世代数总是增加而从不减少,这意味着GC从未收集过该对象?您对世代的理解是正确的。关于GC调优的一个免费讨论,请阅读下面的内容,如果可以的话,也可以尝试在前面的链接中找到这本书。非常感谢你,我已经找到了你提到的那本书。它非常有用。嗯,我要做的就是寻找并清理它们。内存分配迟早会成为最大的性能问题,然后你也可以解决这个问题。换句话说,从后门接近它。如果你认为你没有加速的空间,我保证你所能做的任何事情都能减少内存分配,这将给你带来巨大的加速。