- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Parch系列 - Java进阶基础
目录 代理 1 反射 6 回调 13 枚举 18 线程 23 XML 解析 47 Properties 类操作 51 注解 55 JVM 参数 66 Swing 73 ○●○●○●○●○_Java 进阶基础_○●○●○●○●○ 一,代理 1,动态代理机制 (1)介绍 java 的动态代理机制中,有两个重要的类或接口:InvocationHandler(Interface)、 Proxy(Class),这一个类和接口是实现我们动态代理所必须用到的。 ● InvocationHandler 接口 每一个动态代理类都必须要实现 InvocationHandler 这个接口,并且每个代理类的实 例都关联到了一个 handler,当我们通过代理对象调用一个方法的时候,这个方法的调 用就会被转发为由 InvocationHandler 这个接口的 invoke 方法来进行调用。 InvocationHandler 接口唯一的方法 :invoke 方法: Object invoke(Object proxy, Method method, Object[] args) throws Throwable 参数介绍: proxy:指代我们所代理的那个真实对象 method:指代的是我们所要调用真实对象的某个方法的 Method 对象 args:指代的是调用真实对象某个方法时接受的参数 ● Proxy 类 Proxy 是用来动态创建一个代理对象的类。 Proxy 提供了许多的方法,用的最多的是 newProxyInstance 方法: // 得到一个动态的代理对象 public static Object newProxyInstance(ClassLoader loader, Class?[] interfaces, InvocationHandler h) throws IllegalArgumentException 参数介绍:: loader:一个 ClassLoader 对象,定义了由哪个 ClassLoader 对象来对生成的代 理对象进行加载 interfaces:一个 Interface 对象的数组,表示的是我将要给我需要代理的对象提 供一组什么接口,如果我提供了一组接口给它,那么这个代理对象就宣称实现了该 接口(多态),这样我就能调用这组接口中的方法了 h:一个 InvocationHandler 对象,表示的是当我这个动态代理对象在调用方法 的时候,会关联到哪一个 InvocationHandler 对象上 (2 )实例: ● 定义一个 Subject 类型的接口,为其声明了两个方法: public interface Subject{ public void rent(); public void hello(String str); } ● 定义一个类来实现这个接口,这个类是真实对象,RealSubject 类: public class RealSubject implements Subject{ @Override public void rent(){ System.out.println(I w
文档评论(0)