如何检查在Java中的另一个类中运行方法的时间(方法调用侦听器)?

时间:2014-05-20 19:01:24

标签: java

我正在开发一个程序,我需要能够检查特定对象上运行某些方法的时间。我知道这可能有点不清楚,所以这是一个例子。

让我们说这是我想要访问的课程:

public class Clazz {

    public void exampleMethod(ExampleParam param) {
        //Unknown code
    }
}
  1. Clazz对象不是由我的任何代码创建的。我无法控制它的创作。
  2. 我的任何代码都没有调用Clazz的方法(在本例中只是exampleMethod(ExampleParam param))。
  3. 我需要做的是确定我无法访问的代码何时调用exampleMethod(ExampleParam param)

    在方法中运行的代码与我无关。我需要知道的是:

    1. 每次调用该方法时。
    2. 如果可能,传递给方法的参数。
    3. 如果上述情况可能发生,那么了解最初调用该方法的类也是有用的。
    4. 换句话说,是否可以创建一个名为"的方法。听者?

1 个答案:

答案 0 :(得分:3)

在Java中,这是由面向方面编程"面向方面编程" (也称为AOP)。

AOP作为核心spring framework的一部分包含在内,请查看更多信息。