网上讲了好多种方法,但经过测试,都不太中意,下面结合自己的实践给大家介绍一下JDK动态代理文件如何生成和查看
背景条件
idea中JDK动态代理文件的生成和查看
demo介绍
JDK动态代理文件的生成有两个条件:
1、必须在main方法中执行,直接用junit的test方法调用无法生成
2、在main方法最前面增加System.getProperties().put(“sun.misc.ProxyGenerator.saveGeneratedFiles”,“true”); 配置,这样会输出代理class文件(新版本JDK做了更改,更改为:System.getProperties().put(“jdk.proxy.ProxyGenerator.saveGeneratedFiles”, “true”);)
代理class文件查看
代理class的生成路径是在idea的工作空间下的 com\sun\proxy 目录中,如下图所示:
注意:切记 $Proxy0.class 文件和源代码不在同一个目录中
查看 $Proxy0.class 文件内容,使用反编译工具(jd-gui)查看如下图所示: