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

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

难度中级
时长 2小时 0分
学习人数
综合评分9.70
184人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.7 逻辑清晰
invoke 的object 指的是代理对象。
我想学做ppt
感觉有点
复杂
这ppt太炫酷了吧
非常感谢老师!背后一定花了大量时间总结和整理吧,感谢!
真的牛,给32个赞。从头听到尾,讲解的不错!
置顶那个是错的,invoke()里的proxy就是要被代理的对象,真的代理对象是在Proxy.newProxyInstance()生成的,如果nvoke()里的proxy就是被代理对象,还要后者干嘛??都可以直接用代理对象了
感觉的确很像AOP编程
卧槽 回过来看 发现全懂了
这课程虽有些难度,但还是比较透得讲明了动态代理模式
源码那节看了两遍啊

已采纳回答 / YCyoung
代理的代理,就是将用时间增强过的代理再用日志增强,这样就可以同时输出时间和日志,应该对car的时间增强代理类增强日志功能。看不懂你的ctp和clp的意义何在,你可能将动态代理和静态代理混淆了,你这里的代理处理器还是对时间的增强,并没有对日志增强的代理处理器。(动态代理是依据代理处理器来动态创建代理的。)
最后那部分load到内存,我自己的理解是装载类,然后得到这个类的Class然后通过Class获得构造器的过程。经测试,使用Class.forName()也可以实现相同的效果。(有不对的欢迎指正)
装载类使用ClassLoader.loadClass(),也可以使用Class.forName(),这两个都能得到Class对象,区别是前者不会初始化类,即不会加载类的静态变量和静态块,而Class.forName()则会加载类的静态块,分配类的静态变量。JDBC连接的时候使用Class.forName()实际上是加载Driver类的static块而ClassLoader不会加载。
看了无数遍,终于看着老师的代码临摹出来了

最新回答 / 在路上的饥饿愚人
如果你用的JDK是1.6以上的,应该要用interface.getSimpleName()
课程须知
本课程是 Java 开发课程的高级课程,希望各位小伙伴们在学习本课程之前,了解以下内容: 1)初步具备面向对象的设计思维 2)了解多态概念 3)了解反射
老师告诉你能学到什么?
1、代理模式概念机分类 2、代理模式应用场景 3、掌握静态代理、动态代理运用 4、理解JDK动态代理实现原理

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消