为什么80%的码农都做不了架构师?>>>

JDK Dynamic Proxy_JDK动态代理

更详细的在http://my.oschina.net/xinxingegeya/blog/297410

Dynamic Proxy :

In this , proxies are created dynamically through reflection(反射). This functionality is added from JDK 1.3 . Dynamic proxy form the basic building block of Spring AOP.

一个简单的示例:

下面贴出代码来,也没什么好说的

Basicfunc.java

package com.lyx.other;public interface Basicfunc {public void method1();
}

Example1.java

package com.lyx.other;public class Example1 implements Basicfunc {public void method1() {System.out.println("executing method 1");}
}

MyInvocationHandler.java

package com.lyx.other;import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;public class MyInvocationHandler implements InvocationHandler {private Object target;public MyInvocationHandler(Object target) {this.target = target;}public Object getTarget() {return this.target;}public void setTarget(Object target) {this.target = target;}public Object invoke(Object proxy, Method method, Object[] params)throws Throwable {long a = System.currentTimeMillis();Object result = method.invoke(this.target, params);System.out.println("total time taken  "+ (System.currentTimeMillis() - a));return result;}}

MainClass.java

package com.lyx.other;import java.lang.reflect.Proxy;public class MainClass {public static void main(String[] args) {Example1 ex = new Example1();Basicfunc proxied = (Basicfunc) Proxy.newProxyInstance(MainClass.class.getClassLoader(),ex.getClass().getInterfaces(), new MyInvocationHandler(ex));proxied.method1();}
}

======END======

转载于:https://my.oschina.net/xinxingegeya/blog/341041

JDK Dynamic Proxy_JDK动态代理相关推荐

  1. spring框架中JDK和CGLIB动态代理区别

    转载:https://blog.csdn.net/yhl_jxy/article/details/80635012 前言 JDK动态代理实现原理(jdk8):https://blog.csdn.net ...

  2. JDK和cglib动态代理代码示例

    JDK和cglib动态代理代码: package com.zhangxueliang.demo.proxy;import java.lang.reflect.InvocationHandler; im ...

  3. JDK和CGLIB动态代理区别

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 前言 Github:https://github.com/yihonglei/thinking-in ...

  4. Spring : 静态代理模式和JDK、CGLIB动态代理

    1.美图 2.概述 为了更好的分析分析Spring的另一个核心功能AOP,需要先温习一下动态代理的知识,如果对java的动态代理无所了解的话,那么对AOP源码的分析就无从谈起.代理模式可分为静态代理和 ...

  5. 静态代理、JDK与CGLIB动态代理、AOP+IoC原理

    静态代理.JDK与CGLIB动态代理.AOP+IoC 希望大家认真看完,感谢写这文章的大牛 目录 一.为什么需要代理模式 二.静态代理 三.动态代理,使用JDK内置的Proxy实现 四.动态代理,使用 ...

  6. jdk、cglib动态代理代码示例

    文章目录 jdk动态代理 实现步骤 代码示例 新建一个接口 新建一个接口的实现类 新建一个代理类 调用测试 cglib动态代理实现 实现步骤 创建一个实现类 新建一个代理类 调用测试 jdk动态代理 ...

  7. Spring : Spring Aop JDK和CGLIB动态代理调用过程

    1.美图 2.概述 3.Spring Aop JDK动态代理调用过程 参考:Spring Aop JDK动态代理调用过程 4. Spring Aop CGLIB动态代理调用过程 参考:

  8. 基于jdk proxy的动态代理模式

    代理模式 是spring AOP机制的实现基础,有必要学习一下. 有两种,一种是目标类有接口的, 采用JDK动态代理,一种是目标类没接口的,采用CGLIB动态代理. 先看一组代码, package c ...

  9. JDK和CGLIB动态代理原理

    JDK动态代理原理解析 一.例子: 1.定义基础接口 public interface HttpApi {String get(String url); } 2.实现类 public class Re ...

最新文章

  1. Python 之 matplotlib (六)tick能见度
  2. Java里的线程控制
  3. 信息系统项目管理师教程章节重点考点汇总(1)绪论重点
  4. 信息安全系统设计基础实验四:外设驱动程序设计 20145222黄亚奇 20145213祁玮
  5. 英特尔nuc能代替主机吗_python编程,热度为什么越来越高,python能代替JAVA吗?...
  6. Notepad++ 使用心得
  7. MSE(Media Source Extensions)介绍
  8. js自写字符串 append 方法
  9. 思考的乐趣:Matrix67数学笔记
  10. 安卓psp模拟器联机教程_psp模拟器联机游戏下载-psp模拟器联机对战版v1.0 安卓版 - 极光下载站...
  11. 两个三维向量叉积_俩个三维向量叉乘怎么算啊?
  12. svn异常:Aborting commit: 'xxx' remains in conflict
  13. ArcGIS裁剪栅格图像(图片)后,图…
  14. 计算机数字控制的机械手臂,90后国人自主研发桌面级机械臂,太牛了~
  15. 五大学科竞赛奖项&106所综合评价院校对照表(分省统计)
  16. 毕业设计——基于小程序云开发的校园二手交易平台(附源码)
  17. 计算机专业 中职学校顶岗实习学校总结,中职学校顶岗实习论文(2)
  18. python读取与保存图片的exif信息
  19. 【计算机组成实验】四位加法器
  20. 硬核推荐!3款私藏的卡通头像在线生成网站,减少撞“头”率

热门文章

  1. ASP.NET MVC下基于异常处理的完整解决方案
  2. 如何忽略有关本地更改的“ git pull”错误,因为合并会覆盖我的本地更改?
  3. 如何在C#中从同步方法调用异步方法?
  4. activiti(7.0) 组任务流程CandidateUsers
  5. 安卓3d游戏引擎_3D球闯关游戏-3D球闯关游戏安卓官方版预约 v1.2.5
  6. java .size,Java中length,length(),size()详解及区别
  7. websocket传输数据大小限制_WebSocket基础知识笔记
  8. 一个项目部署多个节点会导致锁失效么_一文看透 Redis 分布式锁进化史(解读 + 缺陷分析)...
  9. iView UI常用组件DatePicker清空技巧
  10. 计算机无法备份,电脑无法备份怎么办