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

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

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

讲师回答 / 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("日志开始...");  //代理类调用父类的方法 ...

最赞回答 / 苦逼攻城狮
接上面回答,调用时候得到日志记录的对象后, 再通过LogHandler代理一次即可:代码如下:<...code...>
首页上一页1234567下一页尾页
课程须知
本课程是 Java 开发课程的高级课程,希望各位小伙伴们在学习本课程之前,了解以下内容: 1)初步具备面向对象的设计思维 2)了解多态概念 3)了解反射
老师告诉你能学到什么?
1、代理模式概念机分类 2、代理模式应用场景 3、掌握静态代理、动态代理运用 4、理解JDK动态代理实现原理

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消