在查看线上日志的时候发现时不时有以下日志打印出来:
[Loaded sun.reflect.GeneratedMethodAccessor167 from __JVM_DefineClass__]
截图如下:
开始感觉很奇怪为什么时不时会打印这些东西,一开始以为是jdk配置的问题,就去度娘查了一下。然后看到了这篇文章:
http://rednaxelafx.iteye.com/blog/548536
简单来说这是Sun的JDK中关于方法反射调用的一个实现细节,为了提高多次反射调用时的效率而在运行时生成专用的Java类实现调用逻辑。
因为该日志由反射产生,所以初步猜测这应该是项目中使用了AOP生成代理类时产生的log。下面梳理一下AOP代理的具体流程。
Spring有两种生成代理对象的方法,第