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

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

难度中级
时长 2小时 0分
学习人数
综合评分9.70
184人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.7 逻辑清晰

讲师回答 / David
我都是到网上找的模板做的,自己添加一些效果而已...

讲师回答 / David
您好:handler类中public Object invoke(Object proxy, Method method, Object[] args)...方法,我们使用“method.invoke(target);”而非使用“method.invoke(proxy);”是通过反射的机制调用目标对象的方法。视频中模拟JDk动态代理,所以讲proxy也作为入参,虽然没有使用到proxy,并不意味着JDK动态代理它没有被使用到,有兴趣可以研究一下源码内容。

已采纳回答 / David
1、这句话的意思是通过方法的反射,得到Moveable类的某个方法;2、根据API中的定义,Class.getSimpleName()方法是获取源代码中给出的‘底层类’简称 (Moveable)而Class.getName();以String的形式,返回Class对象的‘实体’名称 (com.imooc.proxy.Moveable)

最赞回答 / _Exception
输完 syso 之后 按 alt + /  就出来  System.out.println();  了 

讲师回答 / David
应该是你没有导入相关的jar   cglib-nodep-2.1.3.jar

已采纳回答 / David
您好:        我们在课程中介绍到了静态代理,讲解他的不足:会使我们系统内的类的规模增大(类膨胀),并且不易维护;并且由于被代理类和代理类的功能 本质上是相同的,被代理类只是起到了中介的作用,这种代理在系统中的存在,导致系统结构比较臃肿和松散。       为了解决这个问题,所以要动态地创建Proxy:在运行状态中,需要代理的地方,动态地创建一个Proxy,用完之后,就会销毁,这样就可以避免了Proxy 角色的class在系统中冗杂的问题了。       至于视频中演示动态代理的产生(生成java文...

已采纳回答 / David
‍您好,很高兴收到你的问题,解答如下:JDK动态代理只能代理实现了接口的类,不是这个类(比如Car,实现Moveable接口)需要实现InvocationHandler,而是他的处理器(LogHandler)需要实现InvocationHandler接口。JDK动态代理它是在运行时生成的class,在生成它时你必须提供一组interface给它,然后该class就宣称它实现了这些 interface。你当然可以把该class的实例当作这些interface中的任何一个来用。当然,这个Dynamic Pro...

已采纳回答 / David
我们看一下示例中的代码:/**  * 拦截所有目标类方法的调用  * obj  目标类的实例  * m   目标方法的反射对象  * args  方法的参数  * proxy代理类的实例  */ @Override public Object intercept(Object obj, Method m, Object[] args,   MethodProxy proxy) throws Throwable {  System.out.println("日志开始...");  //代理类调用父类的方法 ...
课程须知
本课程是 Java 开发课程的高级课程,希望各位小伙伴们在学习本课程之前,了解以下内容: 1)初步具备面向对象的设计思维 2)了解多态概念 3)了解反射
老师告诉你能学到什么?
1、代理模式概念机分类 2、代理模式应用场景 3、掌握静态代理、动态代理运用 4、理解JDK动态代理实现原理

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消