有时候我们在代码里面实现了动态代理,一般不会生成显示的类class文件,但是我们如果想看生成的代理类 内部代码怎么办
可以这么弄:
JDK动态代理文件的生成有两个条件:
1、必须在main方法中执行,直接用junit的test方法调用无法生成
2、在main方法最前面增加System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles","true"); 配置,这样会输出代理class文件
System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles","true"); 代理class的生成路径是在idea的工作空间下的 com\sun\proxy 目录中,如下图所示:
如果想看class里面的信息,可以进行反编译或者放入idea工具中进行查看
注:这个输入参数跟JDK版本有关系,如果是新版本JDK为下面的,注意如果切换
System.getProperties().put("jdk.proxy.ProxyGenerator.saveGeneratedFiles", "true");
本文标题:如何获取JDK 动态代理的类文件$Proxy.class文件信息
本文链接:https://blog.quwenai.cn/post/2800.html
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。






![[并发编程] - Executor框架#ThreadPoolExecutor源码解读02 [并发编程] - Executor框架#ThreadPoolExecutor源码解读02](https://blog.quwenai.cn/zb_users/upload/2022/03/20220327124158164835611866353.png)


还没有评论,来说两句吧...