保存动态代理生成的代理类.class

记录一下

保存动态代理生成的代理类.class

Properties properties = System.getProperties();
properties.put(“sun.misc.ProxyGenerator.saveGeneratedFiles”,“true”);


import java.util.Properties;

/**
 * Main
 * @author zjl
 * @date 2019/12/12
 */
public class Main {
    public static void main(String[] args) {
    	// 保存操作
        Properties properties = System.getProperties();
        properties.put("sun.misc.ProxyGenerator.saveGeneratedFiles","true");

        // 创建目标对象
        ArithmeticCalculator target = new ArithmeticCalculatorImpl();
        // 获取代理对象
        Object obj = new ArithmeticCalculatorProxy(target).getProxy();
		// 
        ArithmeticCalculator proxy = (ArithmeticCalculator) obj;
        System.out.println(proxy.getClass());
        // 执行方法
        int result = proxy.add(1, 1);
        System.out.println("main=>>> " + result);
    }
}

最终会在src统计目录下生成文件,文件类型为.class,使用反编译软件,获取编辑器添加反编译插件查看
保存动态代理生成的代理类.class_第1张图片

你可能感兴趣的:(Java,动态代理,保存动态类)