静态代理模式总结(线程底部原理)

  • 真实对象和代理对象都要实现同一个接口
  • 代理对象要代理真实角色
  • 好处:
    - 代理对象可以做很多真实对象做不了的事情
    - 真实对象专注做自己的事情
  • 创建静态代理模式:一个接口(当前创建为函数式接口(只包含唯一一个抽象方法),可以使用Lambda表达式,简化代码)+真实角色(实现抽象类)+代理角色(实现抽象类)+代理方法实现构造方法调用抽象方法
package com.zeng.demo01;
//静态代理模式总结(线程底部原理)
//真实对象和代理对象都要实现同一个接口
//代理对象要代理真实角色
//好处://代理对象可以做很多真实对象做不了的事情//真实对象专注做自己的事情
public class StacticProxy {public static void main(String[] args) {//Lambda表达式,避免匿名内部类定义过多,其实质属于函数式编程的概念//去掉一些没有意义的代码,只留下核心代码//当前接口为函数式接口(任何一个接口,如果只包含唯一一个抽象方法,那么他就是一个函数式接口),可以通过Lambda表达式来创建该接口的对象new Thread(()-> System.out.println("I love you")).start();new WeddingCompany(new You()).HappyMarry();//        You you = new You();
//
//        WeddingCompany weddingCompany = new WeddingCompany(you);
//        weddingCompany.HappyMarry();}
}
interface  Marry{void HappyMarry();
}
//真实角色,你做的事
class You implements Marry{@Overridepublic void HappyMarry() {System.out.println("hello world");}
}
//代理角色,帮助你做一些事
class WeddingCompany implements Marry{private Marry target;//构造方法public WeddingCompany(Marry target){this.target=target;}@Overridepublic void HappyMarry() {before();this.target.HappyMarry();after();}private void after() {System.out.println("操作二,收尾款");}private void before() {System.out.println("操作一,布置现场");}
}

静态代理模式(多线程底部原理)相关推荐

  1. 多线程中的静态代理模式

    静态代理的例子: 1 /** 2 * 1.真实角色 3 * 2.代理角色 4 * 3.共同实现的接口 5 * @author tele 6 * 7 */ 8 public class StaticPr ...

  2. Java从接触到放弃(十五)--线程、多线程、静态代理模式

    Day Fifteen 线程 多任务: 可以理解为一个人同时去干几件事,就好比在上厕所的时候边大号边玩手机,这就是一个多任务的实例.再好比现在很多人中午在吃饭的时候,或者说在吃饭的时候,看一些下饭综艺 ...

  3. Java多线程:静态代理模式

    静态代理模式 要求:有真实角色,代理角色 真实角色和代理角色要实现同一个接口 代理角色要持有真实角色的引用 设计静态代理模式 (1)必须有一个共同使用的接口 1 // 共同的接口 2 public i ...

  4. 浅谈java的静态代理模式

    嗨喽-小伙伴们XX好呀, 本章我们来介绍,java中出现的静态代理模式. 代理,对应于英语单词-----Proxy,从字面上理解,就是在实现代理目标(Target)所有的需求的同时,还能够实现代理目标 ...

  5. 【设计模式】--- 装饰器模式、静态代理模式和动态代理模式

    文章目录 1 引子 2 业务场景介绍 3 静态代理模式 4 装饰器模式 5 动态代理模式 5.1 Proxy --- 具体的代理对象生成组件 5.2 InvocationHandler --- 封装被 ...

  6. 设计模式之静态代理模式实战

    转载自 设计模式之静态代理模式实战 静态代理模式很简单,代理类和实现类都实现相同的接口,然后通过代理类来调用实现类的方法. 如我们想保存用户信息之前打印用户信息,或者保存用户信息之后把这些信息缓存下来 ...

  7. 使用静态代理模式实现公用的报表导出功能

    先聊一下什么是代理模式? 代理模式 给某个对象提供一个代理对象,并由代理独享控制对原对象的引用.什么意思呢?代理模式就有点像我们生活中常见的中介. 举个例子,我想买辆二手车,第一种方式是自己去找车源, ...

  8. 研磨23种大话设计模式------动态代理模式 + 小结静态代理模式

    大家好,我是一位在java学习圈中不愿意透露姓名并苟且偷生的小学员,如果文章有错误之处,还望海涵,欢迎多多指正 如果你从本文 get 到有用的干货知识,请帮忙点个赞呗,据说点赞的都拿到了offer 在 ...

  9. 接口(jdk1.8及之后) 单例模式(饿汉式,懒汉式) 静态代理模式 简单工厂模式 匿名内部类 lambda表达式

    接口: jdk1.8及之后新增了2种可以定义存在方法体的方法: 默认方法 (default关键字修饰的方法 ) 使用:通过实现类对象使用 静态方法 (掌握) 使用:通过接口名去调用 目前接口中: 必须 ...

最新文章

  1. Oracle 中多个字段显示成一列
  2. 自己动手写操作系统-实践
  3. 《微服务架构设计模式》总结,文末送书
  4. Java Web中的中文编码
  5. 操作系统时间片轮换_《操作系统_时间片轮转RR进程调度算法》
  6. nodejs 防宕机_pm2实战,让你的nodejs、koa2应用永远不会宕机
  7. 带有示例的Python列表reverse()方法
  8. 吴恩达深度学习4.1练习_Convolutional Neural Networks_Convolution_model_Application_2
  9. JSP页面添加播放视频功能
  10. 简单的Java代码实现斗地主
  11. JupyterNotebook中更新pip以及使用pip install安装lightgbm
  12. 机器学习深度学习面试题——Python基础知识
  13. 对称网络的电路分析方法
  14. 实现multi()函数,参数个数不限,返回所有参数的乘积
  15. 《操作系统真象还原》第十四章 ---- 实现文件系统 任务繁多 饭得一口口吃路得一步步走啊(上二)
  16. 华为交换机配置dhcp详细配置
  17. 水溶Cy7/Cy3/Cy5-SE染料,水溶性CY7活化酯,CAS号:477908-53-5
  18. 手把手教你架设电影服务器
  19. 基于搜狗微信的爬虫知识总结
  20. 统计在线人数、每日访问人数和总人数

热门文章

  1. C语言试题四十四之移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。
  2. C语言试题二十七之请编写程序,实现矩阵(3行3列)的转置(即行列互换)。
  3. C和指针之结构体大小和成员变量位置距离结构开始存储的位置偏移字节
  4. 数据结构之线性查找和折半查找
  5. Android之gallery 常见2种使用方法和3D效果总结
  6. serviceloader java_【java编程】ServiceLoader使用看这一篇就够了
  7. qtabwidget切换tab事件_某超超临界机组初压/限压切换过程中扰动原因分析
  8. 阿基米德椭圆规原理,你看懂了吗?
  9. 2021年将迎接你的是什么?
  10. 天体运行动图,如此美妙,如此震撼!