java 多线--静态代理模式】的更多相关文章

我们使用 java 多线程时,都需要通过线程代理对象来启动线程,常见的写法: new Thread(target).start(); 这在设计模式中叫静态代理模式,静态代理模式组成; 1.公共接口 2.真实角色 3.代理角色 以结婚为例,结婚要找婚庆公司,结婚前和结婚后的事情交给婚庆公司处理,你只要结婚就行. 公共接口: // 公共接口 interface Marry { void happyMarry(); } 真实角色: // 真实角色 class You implements Marry{…
黑马程序员:Java基础总结 静态代理模式&动态代理   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public  class  Ts {         public  static  void  main(String[] args)  throws  Exception {               // 通过中介公司生产一批衣服             ClothingProduct cp =  new  ProxCompany( ne…
概念:为其它对象提供一种代理以控制对这个对象的访问.代理模式说白了就是"真实对象"的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途. public class Practice14 { public static void main(String[] args) { // TODO Auto-generated method stub SuperMan man=new SuperMan(); Proxy proxy=new Proxy(man); proxy.s…
一.多线程 首先我们要清楚程序.进程.线程的关系. 首先进程从属于程序,线程从属于进程. 程序指计算机执行操作或任务的指令集合,是一个静态的概念. 但我们实际运行程序时,并发程序因为相互制约,具有“执行——暂停——执行”的状态, 显然这时程序这个静态的概念无法描述这种状态,从而人们引入了进程这个动态的概念分析研究程序的活动. 目前国内对进程的定义:进程是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动. 而线程从属于进程,线程是比进程更小的活动单位,它是进程中的一个执行路径.一个进程可…
0.介绍 线程:多个任务同时进行,看似多任务同时进行,但实际上一个时间点上我们大脑还是只在做一件事情.程序也是如此,除非多核cpu,不然一个cpu里,在一个时间点里还是只在做一件事,不过速度很快的切换,造成同时进行的错觉. 多线程: 方法间调用:普通方法调用,从哪里来到哪里去,是一条闭合的路径: 使用多线程:开辟了多条路径. 进程和线程: 也就是 Process 和 Thread ,本质来说,进程作为资源分配的单位,线程是调度和执行的单位.具体来说: 每个进程都有独立的代码和数据空间(进程上下文…
    静态代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问,提供“真实对象”的代表,在访问对象时引入一定程度的间接性,这种间接性可以附加多种用途. 代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问.在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入一个代理对象.这些额外的操作通常需要与实际对象进行通信. 代理模式的对象有: (…
/** * 接口应用 */ public class Main { public static void main(String[] args) { Person p = new Person("fish7"); p.setIsay(new BeforeGong()); p.say(); p.setIsay(new AfterGong()); p.say(); } } class Person{ //只有在运行期才和say行为关联起来,这就叫面向接口编程 private String…
代理模式 代理模式的定义很简单:给某一对象提供一个代理对象,并由代理对象控制对原对象的引用. 代理模式的结构 有些情况下,一个客户不想活着不能够直接引用一个对象,可以通过代理对象在客户端和目标对象之间起到中介作用.代理模式中的角色有: 1.抽象对象角色 声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象 2.目标对象角色 定义了代理对象所代表的目标对象 3.代理对象角色 代理对象内部含有目标对象的引用,从而可以在任何时候操作目标对象:代理对象提供一个与目标…
Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法 举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,来达到同样的目的.明星就是一个目标对象,他只要负责活动中的节目,而其…
本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展. 比如有个歌手对象叫Singer,这个对象有一个唱歌方法叫sing(). public class Singer{ public void sing(){ System.out.println("唱一首歌"); } } 假如你希望,通过你的某种方式生产出来的歌手对…
代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展. 比如有个歌手对象叫Singer,这个对象有一个唱歌方法叫sing(). 1 public class Singer{ 2 public void sing(){ 3 System.out.println("唱一首歌"); 4 } 5 } 假如你希望,通过你的某种方式生产出来的歌手对象,在唱歌前后还要想观众问好和答谢,也即对目标对象Singer的sing方法进行功能扩展. 1 public…
Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法 举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,来达到同样的目的.明星就是一个目标对象,他只要负责活动中的节目,而其…
代理模式 代理模式是常见设计模式的一种,代理模式的定义是:为其他对象提供一种代理以控制对这个对象的访问. 在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 静态代理 理解设计模式是比较枯燥的,所以还是以举例子的方式来进行理解, 例如:公司开年会想找个明星来表演,那么并不会直接联系明星(主要还是联系不上),而是会联系明星的经纪人,明星就是被代理的对象,而经纪人就是代理对象.明星只需要准备来参加年会时应该表演什么节目就可以,其他的出场费之类…
代理模式的核心思路就是一个接口有两个子类,一个子类完成核心的业务操作,另一个子类完成与核心业务有关的辅助性操作. 代理模式分为静态代理模式和动态代理模式.  静态代理模式: //接口类 interface Food{ public void eat(); } //核心业务操作类 class RealFood implements Food{ @Override public void eat() { System.out.println("马小超在吃饭!"); } } //与核心业务有…
Java的三种代理模式&完整源码分析 参考资料: 博客园-Java的三种代理模式 简书-JDK动态代理-超详细源码分析 [博客园-WeakCache缓存的实现机制](https://www.cnblogs.com/liuyun1995/p/8144676.html) 静态代理 静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类 可以做到在不修改目标对象的功能前提下,对目标功能扩展 缺点: 因为代理对象需要与目标对象实现一样的接口,所以会有很多代理类,…
前言 代理(Proxy)模式是一种结构型设计模式,提供了对目标对象另外的访问方式:即通过代理对象访问目标对象. 这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需要修改,可以通过代理的方式来扩展该方法. 代理模式大致有三种角色: Real Subject:真实类,也就是被代理类.委托类.用来真正完成业务服务功能: Proxy:代理类,将自身的请求用 Real Subject 对应的功…
JAVA安全基础之代理模式(二) 上篇讲到静态代理模式,这时候我们发现,一个代理类只能为一个类服务,如果需要代理的类很多,那么就需要编写大量的代理类,比较繁琐.所以就有了动态代理 动态代理 动态代理的代理类,是在内存中构建代理对象,从而实现对目标对象的代理功能. 在这里我们需要知道两个类:1.InvocationHandler(接口).2.Proxy(类) 来看下具体使用步骤 1.(接口)创建Person接口: public interface Person { //上交班费 void give…
JAVA安全基础之代理模式(一) 代理模式是java的一种很常用的设计模式,理解代理模式,在我们进行java代码审计时候是非常有帮助的. 静态代理 代理,或者称为 Proxy ,简单理解就是事情我不用去做,由其他人来替我完成.在黄勇<架构探险>一书中,我觉得很有意思的一句相关介绍是这么说的: 赚钱方面,我就是我老婆的代理:带小孩方面,我老婆就是我的代理:家务事方面,没有代理. 代理类与被代理类都有个共同的特征,就是都实现了相同的接口.代理类调用被代理类的方法. 现在我们用一个demon来举例代…
java设计模式之Proxy(代理模式) 2008-03-25 20:30 227人阅读 评论(0) 收藏 举报 设计模式javaauthorizationpermissionsstringclass 参考Gof的<设计模式>23种:http://www.jdon.com/designpatterns/ 理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣. 代理模式是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结…
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6525527.html 代理模式算是我接触较早的模式,代理就是中介,中间人.法律上也有代理,比如代理律师之类,委托人将自己的一部分权限委托给代理者,代理者就拥有被代理者(委托人)的部分权限,并且可以以被代理人的名义来实行这些权限,此时代理者与委托人等同,当然代理人也可以在实行权限时配合自己的能力来进行,当然不能超出这个权限. Java中的代理模式类似于上面的代理,我们也是为一个类(委托类)…
1.编写一个接口类 如:Subject package com.neusoft.pattern.staticProxy; /** * <p>Title:</p> * <p>Description:代理接口对象</p> * <p>Copyright:Copyright (c) 2018</p> * <p>Company:东软集团股份有限公司</p> * CreateDate:2018/4/19 0019 下午 1…
Thread静态代理模式理解 代码示例: /** * @Description 静态代理模式 * @Author hzx * @Date 2022-03-26 */ public class StaticProxy { public static void main(String[] args) { You you = new You(); //你要结婚 WeddingCompany weddingCompany = new WeddingCompany(you); //代理对象,帮助你完成婚礼…
一:代理模式 代理模式的作用是:为其他对象提供一种代理以控制这个对象的访问.在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 二:代理模式设计到的角色 抽象角色:声明真是对象和代理对象的共同接口(抽象类或接口). 代理角色:代理对象角色内部含有对真是对象的引用,从而可以操作真是对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能够代替真是对象.同时,代理对象可以在执行真实对象的操作时,附加其他操作,相当于对真是对象进行封装. 真实…
这篇博文,我们主要以类图和代码的形式来对照学习一下静态代理和动态代理.重点解析各自的优缺点. 定义 代理模式(Proxy Pattern)是对象的结构型模式,代理模式给某一个对象提供了一个代理对象,并由代理对象控制对原对象的引用. 代理模式不会改变原来的接口和行为,仅仅是转由代理干某件事,代理能够控制原来的目标,比如:代理商,代理商仅仅会买东西,但并不会改变行为.不会制造东西. 让我们通过以下的代码好好理解一下这句话. 分类 静态代理和动态代理 静态代理 静态代理类图 代码演示样例 接口 pac…
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问. 代理模式说白了就是"真实对象"的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途. 在这实现代码之前,先讲一个简单的生活故事,我们都知道我们周边有很多公司有房屋买卖或租赁的业务,比如链家(LianJia),但链家本身是不存在任何实际房屋资产的,他所售卖租赁的房屋均需要房屋产权所有人(HomeMaster)提供,才得以实现公司的房源需求:同时公司要的卖房租房业务均需要公司员工(Seller)来实…
代理模式分为动态代理和静态代理. 静态代理简述: 1.为其他对象提供一种代理,以控制对这个对象的访问. 2.代理对象会起到中介的作用,可以增加些功能,也可以去掉某些功能. 静态代理: 代理和被代理对象在代理之前就是确认的,他们都是实现了相同的接口或者继承了相同的抽象类. 常见的代理模式: 虚拟代理: 当我们在浏览帖子的时候,有些页面加载很多图片,但是刚打开网页的时候,这些图片都是默认logo,当图片加载完成的时候才会显示出来,当图片被加载的时候,也不会影响我们观看文字. 下面是静态代理的Demo…
package proxy.staticproxy; public interface IStar { public void sing(); } package proxy.staticproxy; public class RealStar implements IStar{ @Override public void sing() { System.out.println("我是大明星:我要大声唱:巴拉巴拉..."); } } package proxy.staticproxy;…
1.静态代理:需要定义接口或者父类,目标对象与代理对象均实现同一接口或继承同一父类. 2.JDK动态代理:需要目标对象实现一个接口,通过动态反射的机制,生成代理对象,实现同一个接口 3.Cglib动态代理:不需要目标对象实现接口,通过动态反射的机制,生成代理对象作为目标对象的子类:拦截方法调用实现代理. 具体使用参考:http://www.cnblogs.com/cenyu/p/6289209.html 实例介绍:使用动态代理做缓存功能(https://www.zhihu.com/questio…
代理模式是对象的结构模式.代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用. 代理模式是常用的Java 设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务 代理模式的结构 所谓代理,就是一个人或者机构代表另一个人或者机构采取行动.在一…
背景 项目中我们会遇到这种情况:在几个方法中增加同样的代码,这些代码是与业务无关的,而且以后有可能因为考虑不周或需求变动再或者是其它原因,我们须要对他们进行逐一进行修改.举个详细的样例,比方程序中的日志控制.事务控制等,这些功能是与业务无关的,但却须要将它们与我们的逻辑混在一起.达到一些特殊的需求. 这种情况往往代码都是同样的,能够抽离出来,为了复用,我们能够将这些同样的代码单独封装成的方法,以供其它须要的地方调用,这样对于以后的改动就做到了仅仅改动一处的效果,达到了程序的复用.但另外一个问题便…