Discuss / Java / 请教廖老师,动态代理是运行时织入,这跟编译器织入有什么区别吗?

请教廖老师,动态代理是运行时织入,这跟编译器织入有什么区别吗?

Topic source

在学习Spring的@Configuration注解,看别人对源码的分析,Spring使用cglib对这个类进行了代理。所以又回来看廖老师的这篇文章。

文中最后提到AOP有三种织入方式,第一种和第二种我明白,第三种不明白。我理解使用了动态代理,当编译代码时,最后不也是编译成了字节码吗?那动态代理不就是编译时织入了吗?

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

JVM支持一种加载类的时候动态修改字节码的agent,很多性能监控系统就是用这个来做aop,好处是不用修改一行代码

奥奥,懂了一点点,查了一些资料,还是理解不深入,我理解是运行时动态的创建了一个类(即运行时生成新的.class文件)吧


  • 1

Reply