为了账号安全,请及时绑定邮箱和手机立即绑定

模式的秘密---代理模式

难度中级
时长 2小时 0分
学习人数
综合评分9.70
184人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.7 逻辑清晰
  • @设计模式---代理模式简介与分类

    代理模式:
        为其他对象提供一种代理以控制对这个对象的访问。代理对象起到中介作用,可去掉功能服务或增加额外的服务。

    代理模式的分类:
        1.远程代理模式:为不同地理的对象提供局域网代表对象(监控各个店铺
        2.虚拟代理:根据需要将资源消耗很大的对象进行延迟,真正需要的时候进行创建(图片的延时加载)
        3.保护代理:控制用户的访问权限(网站页面的访问权限)
        4.智能引用代理:提供对目标对象提供额外的服务(火车票代售处


    查看全部
  • @设计模式---代理模式之 聚合方式做代理模式
    1.聚合代理优于继承代理

    在实现功能叠加的情况下,聚合代理通过相互代理可以实现功能重用,而继承代理必须写多个类来实现多功能叠加。

    2.但静态代理只能代理一种类型的被代理类,换个类型的就不行了,这需要动态代理

    查看全部
  • @设计模式---代理模式之 静态代理

    静态代理:代理和被代理对象在【代理之前】都是【确定】的。他们都实现【相同的接口或者继承相同的抽象类】

    代理实现方法:
        1.继承法:代理类直接【继承】被代理类,实现其原有方法,并添加一些额外功能
        2.聚合方法:代理类实现【相同的功能接口:很重要,事项相同接口,不同代理也可以进行相互代理】,并在内声明一个被代理类的对象(类似封装),通过内部对象实现其原有方法,并添加额外功能

    查看全部
  • @设计模式---代理模式简介与分类

    代理模式:
        为其他对象提供一种代理以控制对这个对象的访问。代理对象起到中介作用,可去掉功能服务或增加额外的服务。

    代理模式的分类:
        1.远程代理模式:为不同地理的对象提供局域网代表对象(监控各个店铺
        2.虚拟代理:根据需要将资源消耗很大的对象进行延迟,真正需要的时候进行创建(图片的延时加载)
        3.保护代理:控制用户的访问权限(网站页面的访问权限)
        4.智能引用代理:提供对目标对象提供额外的服务(火车票代售处

    查看全部
  • Proxy.newInstance(ClassLoader c,Class claz,InvocationHandler h),它是根据出入的claz被代理类或接口,通过反射以及字符串操作,拼接了一个实现被代理接口或继承被代理类的一个代理类的字符串,这个代理类中包含了与被代理类公有方法名一样的方法,同时在这些方法中都是调用的h处理类中的invoke方法,这样就达到了,实际调用被代理方法前做预处理工作。

    InvocationHandler中invoke(Object 代理对象,Method 被代理对象最终要执行的方法,Object[] 方法所需参数)可以在最终方法执行前做一些方法前的预处理工作,如果在被代理类的方法执行前有多个InvocationHandler需要执行处理,那就在invoke方法中对InvocationHandler中的被代理对象做判断,如果被代理对象是InvocationHandler则继续执行invoke方法(类似拦截器原理),否则通过反射执行最终的被代理类的实现方法

    查看全部
    0 采集 收起 来源:课程总结

    2018-05-15

  • https://img1.sycdn.imooc.com//5af6f70b00013bb702940426.jpg

    查看全部
    0 采集 收起 来源:课程总结

    2018-05-12

  • https://img1.sycdn.imooc.com//5af6f6e60001284f13850581.jpg

    查看全部
    0 采集 收起 来源:课程总结

    2018-05-12

  • 本节知识点:

    获取当前文件路径的方法:System.getProperty("user.dir")

    获取当前系统时间的方法:System.currentTimeMillis();

    Navigate 视图的使用。

    jre 和 jdk 环境的装换。

    commons-io  FileUtils 的使用


    快捷键 ctrl + shift + o 调整文件缩进


    查看全部
  • 实战报错:

    https://img1.sycdn.imooc.com//5af64a7100015b3010680328.jpg

    原因如下:导入包不全

    https://img1.sycdn.imooc.com//5af64a9200012e7c04030230.jpg

    报错分析:

    NoClassDefFoundError发生在JVM在动态运行时,根据你提供的类名,在classpath中找到对应的类进行加载,但当它找不到这个类时,就发生了java.lang.NoClassDefFoundError的错误,而ClassNotFoundException是在编译的时候在classpath中找不到对应的类而发生的错误

    查看全部
  • 查看全部
    0 采集 收起 来源:课程总结

    2018-05-06

  • 查看全部
    0 采集 收起 来源:课程总结

    2018-05-06

  • 查看全部
  • 查看全部
  • 查看全部
  • 查看全部

举报

0/150
提交
取消
课程须知
本课程是 Java 开发课程的高级课程,希望各位小伙伴们在学习本课程之前,了解以下内容: 1)初步具备面向对象的设计思维 2)了解多态概念 3)了解反射
老师告诉你能学到什么?
1、代理模式概念机分类 2、代理模式应用场景 3、掌握静态代理、动态代理运用 4、理解JDK动态代理实现原理

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!