“垃圾收集率”是什么意思,它能带来什么好处?

bry*_*sai 5 java performance garbage-collection

在分析 Java GC 行为时,某些工具的“垃圾收集率”指标(示例如图 19 所示,来自http://www.ibm.com/developerworks/java/library/j-ibmtools2/#fig19):单位是MB/秒。

与其他指标(例如 GC 利用率)相比,这是一个很少见的指标。它看起来代表 GC 清理的速度。但它有什么好处吗?或者应该如何最好地分析?

bry*_*sai 0

除了明显使用此指标来了解程序的短期对象使用情况之外,大多数具有此指标(以 MB/秒为单位的垃圾收集率)的工具都将其用作衡量应用程序性能的方法。

所做的假设是,产生的垃圾等于生成的垃圾,这也代表了应用程序运行的情况(应用程序运行效率越高,产生垃圾的速度就越快)。通常,这些工具会比较不同版本的程序的此指标,以确定哪个运行效率更高(数字越高越好)。

典型的使用场景是比较代码修复之前/之后的数量。如果数字上升,通常(你知道,并非总是)意味着更好。