您当前的位置:移动互联培训 > Java培训 > JAVA开发 >
深入理解java中的动态代理
来源:互联网 2017-09-05代理模式是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个真实对象的访问。今天华清Java学院小编就和大家一起来深入理解Java中的动态代理。
1、java中的动态代理要实现一个InvocationHandler接口并实现其中的invoke方法代码如下:
2. 在写一个main方法看如何调用:
3. 现在我们来看为什么personProx.getClass().getName()得到的名字会是$Proxy0
4. 通过反编译工具打开$Proxy0.class文件(为了简介我把其中一些代码删掉了)
通过这样分析我们就明白了原来是jdk动态为我们生成了一个$Proxy0类,并在该类中通过反射得到了Person接口中的方法,然后把我们实现了InvocationHandler接口的类赋值给了Proxy类中的h,因此当调用personProx.say()的时候就调到自己写的DynamicProx类中了
每当谈到JavaEE开发,很多初学者就认为JavaEE就是JAVA语言,这么想其实也没错,但多了俩个E,其实差距还是...
每当谈到JAVAEE开发,很多初学者就认为JAVAEE就是JAVA语言,这么想其实也没错,但多了俩个E,其实差距还是...
JVM在Java应用程序优化中是不可缺少的一项,如何合理配置Java参数,如何验证配置参数的有效性,从GC日志中...