Java 技术,IBM 风格: 垃圾收集策略,第 1 部分

为什么要有不同的 GC 策略?

能够使用不同的策略使开发人员增加了对应用程序的控制能力。有许多种 GC 算法,每种算法各有优缺点,这取决于工作负载的类型。(如果您不熟悉 GC 算法的一般性主题,那么请参见 参考资料 中其他读物的链接。在 IBM SDK 5.0 中,可以用 4 种策略 之一配置垃圾收集,每种策略都使用自己的算法。默认策略对于大多数应用程序已经足够了。如果对应用程序的性能没有特别的要求,那么您对本文(和下一篇文章)的内容可能不感兴趣;可以在不改变 GC 策略的情况下运行 IBM SDK 5.0。但是,如果应用程序需要最优的性能,或者很关注 GC 停顿时间的长度,那么请读下去。您会看到最新的版本比以前的版本提供了更多选择。

那么,为什么不让 Java 运行时的 IBM 实现自动地替您做出选择呢?因为这不总是可行的。运行时很难了解您的需要。在某些情况下,希望应用程序有很高的吞吐量;而在其他情况下,希望减少停顿时间。

http://www.ibm.com/developerworks/cn/java/j-ibmjava2/

 

Java 技术,IBM 风格: 垃圾收集策略,第 2 部分

吞吐量

吞吐量 是应用程序处理的数据量。吞吐量必须用特定于应用程序的指标来衡量。

 

响应时间

响应时间 是应用程序的延迟时间,即回答请求有多快。平均和最大响应时间都很重要。

 

停顿时间

停顿时间 是垃圾收集器暂停所有应用程序线程以收集堆所需的持续时间。停顿时间和响应时间不同。

http://www.ibm.com/developerworks/cn/java/j-ibmjava3/index.html