在java计时器注释示例中编写自定义注释
基本上,我需要跟踪在使用自定义注释的方法中花费的时间。(我知道spring AOP可以用于此,但我们不能在我们的产品中使用它)
public class TimeCounterDemo {
@TimeCounter
public void trackMyTimeSpentUsingAnnotation()
{
//some heavy processing stuff
}
}
public @interface TimeCounter {
//need help with this implementation.
}
所以,我的要求是完成TimeCounter
注释。
要求很简单-
- 方法启动的日志时间李>
- 方法结束的日志时间李>
- 记录在方法中花费的总时间李>
- 已执行方法的名称
有人能帮我实现上述要求的注释吗
提前谢谢
# 1 楼答案
已经有很多库提供了这样的注释。 如果您想要自己的实现,其中一种方法是使用dynamic proxies:
下面是你的
TimeCounterDemo
的样子:计时器(注释)
ITimerCounterDemo(接口)
TimerCounterDemo(上述接口的实现)
TimerProxy
测试计时器:
输出:
你可以阅读更多关于here和here
# 2 楼答案
您可以直接在方法中实现时间跟踪,而不是编写注释。 方法中的前两行必须是
现在,您必须记录该方法花费的总时间。这可以通过将下面的语句写入相同的方法来实现