您好, 你的理解可以说基本上是对的,动态的AOP和静态的AOP的区分主要是根据他们的实现的方式AspectJ实现是有缺陷主要体现如果做修改和扩展需要重新编译,但是也有一定优势他的性能和稳定性相对好一点.动态的AOP(例如Spring使用JDK的动态代理模式的扩展和CGLIB的两种实现)的优略刚好相反,但是总的来说基本比较好性能和稳定性基本上可以控制的.还有一种介于两者之间被人称为半自动方式---JBOSS的AOP实现,但是它比较特殊我们在自己的应用系统不提倡也比较难实现(因为JOBSS是一个中间件,所以AOP的体系也与中间件技术结合,特别是它对JVM的classloader的管理).
|
|