# MyProxy **Repository Path**: iamabel/myProxy ## Basic Information - **Project Name**: MyProxy - **Description**: 手写JDK动态代理,模仿Proxy类的功能,实现基本的代理功能。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-24 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MyProxy #### 介绍 手写JDK动态代理,模仿Proxy类的功能,实现基本的代理功能。 这里只做了简单的实现,所以在每个被代理对象的方法执行前,都打印字符串“log”。 #### 软件架构 - MyProxy类:模拟JAVA的Proxy类,提供了getInstance方法,获取代理对象; - MyService类:目标类,用于创建目标对象,也叫被代理对象; - TestMyProxy类:测试类,用于测试MyProxy类。 #### 安装教程 打开需要下载的本地目录,然后右键选择 git bash here 输入:git clone https://gitee.com/iamabel/myProxy.git #### 使用说明 1. MyProxy类: 模拟动态代理实现类,主要实现逻辑:构造定义类的字符串content --> 将 content 写入.java文件中 --> 调用Java编译器编译.java文件,生成.class文件 --> 调用 URLClassLoader类加载器加载.class文件,并获取该类的构造器 --> 通过构造器new一个实例出来,然后返回。 2. MyService类:这个类可以自己实现,也可以自己添加一些测试方法。 3. 在运行前,需要在 d 盘下创建 com/baidu 目录,用于输出 .java 和 .class 文件。