动态代理的本质

1.通过实现动态代理模式生成$Proxy.class文件,逻辑如下:


动态代理的本质_第1张图片
Paste_Image.png

2.接下来通过java 反编译器查看$Proxy.class.可以看到以下几个点:

动态代理的本质_第2张图片
Paste_Image.png

3.然后通过查看源代码查明上图中的 h 对象的来源,也就是说Proxy和InvocationHandler之间的关系,如下:

动态代理的本质_第3张图片
Paste_Image.png

4.查看InvocationHandler中的invoke方法

动态代理的本质_第4张图片
Paste_Image.png

好了,动态代理java代码层面上的东西我就讲解到这,如果想知道更多关于类加载原理,可以查看InvocationHandler中其它方法实现!

把自己成长经历上学到的东西总结起来,只是希望一段时间之后,自己看到这篇文章能知其然知其所以然;

你可能感兴趣的:(动态代理的本质)