由于AspectJ为原始代码添加了更多逻辑,我想知道在不同情况下应用AspectJ的开销是多少?
对此有什么基准吗?
非常感谢!
答案 0 :(得分:1)
没有一般方法可以回答这个问题。这实际上取决于您的切入点的范围有多宽或多窄以及您的建议中执行代码的成本是多少。通常,开销很小,除非您使用动态确定的切入点和昂贵/慢速建议代码的非常不幸的组合编织到目标连接点中。
想象一下,您为许多方法添加了某个代码段。开销取决于代码段,添加代码段的位置数以及添加代码的所有方法的调用次数。这就是weaver所做的一个方面:将编译后的字节码编织到您的类中。唯一的区别是它是自动完成的,您不必手动分散整个代码库中的代码段。