读书人

Classworking 工具箱: 用方面追踪性能

发布时间: 2012-09-06 10:37:01 作者: rapoo

Classworking 工具箱: 用方面跟踪性能

上个月?我介绍了如何用 AspectWerkz 框架实现一个基本的性能跟踪方面(aspect)。这个月我将进一步发展这个方面, 首先增加一些方便的功能,然后将它用于分析一个复杂的真实世界代码 —— Apache Axis Web 服务框架。您将看到我用这种面向方面的方法进行性能跟踪的好处和局限性,最后我的看法是,进行一般性的日志和跟踪是面向方面编程(AOP)通常可以发挥作用的地方。

在深入 Axis 之前,需要讨论另一个问题。在上个月的性能跟踪方面以及在更早的一篇 关于?Java 编程动态性?的文章中(请参阅?参考资料),我使用了 方法计时信息来分析应用程序性能问题。我个人认为这种方法在某些情况下非常方便,但是, 为了使对它的介绍尽可能地全面,还需要讨论一些副作用的问题。我将在本文的第一部分中讨论这些问题。


清单 2 展示在我的笔记本计算机(有较慢的 1GHz PIIIm,运行 Mandrake Linux 10.0)上用 JDK 1.4.2 运行这个程序的结果。结果显示,在这个例子上,currentTimeMillis()?的时间改变总是一个毫秒,调用这个 方法的开销平均只有 3 毫秒。因为这些值都很一致(在这里是百分之一以内),所以至少 可以合理地假定计时器值是足够精确的。


清单 2. 运行 currentTimeMillis() 测试的结果

Classworking 工具箱: 用方面追踪性能




基本原理仍然与?上个月?一样,但是这段代码 添加了几个警告。除了使用?nanoTime(),我还在方面定义中增加了三个可选配置参数。这些参数控制:

读书人网 >操作系统

热点推荐