JDK动态代理必须针对接口的原因是什么
发表于:2024-10-21 作者:千家信息网编辑
千家信息网最后更新 2024年10月21日,本篇内容介绍了"JDK动态代理必须针对接口的原因是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2024年10月21日JDK动态代理必须针对接口的原因是什么
本篇内容介绍了"JDK动态代理必须针对接口的原因是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
动态代理实际上是程序在运行中,
根据被代理的接口来动态生成代理类的class文件,
并加载class文件运行的过程,
通过反编译被生成的$Proxy0.class文件发现
public final class $Proxy0 extends Proxy implements Interface { public $Proxy0(InvocationHandler paramInvocationHandler) { super(paramInvocationHandler); } // 该方法为被代理接口的业务方法,代理类都会自动生成相应的方法,里面去执行invocationHandler 的invoke方法。 public final void sayHello(String paramString) { try { this.h.invoke(this, m3, new Object[] { paramString }); return; } catch (Error|RuntimeException localError) { throw localError; } catch (Throwable localThrowable) { throw new UndeclaredThrowableException(localThrowable); } }}
java是单继承
动态生成的代理类已经继承了Proxy类的,就不能再继承其他的类,
所以只能靠实现被代理类的接口的形式,故JDK的动态代理必须有接口。
为何调用代理类的方法就会自动进入InvocationHandler 的 invoke()方法呢?
因为 invoke方法中利用jdk反射的方式去调用真正的被代理类的业务方法,
而且还可以在方法的前后去加一些我们自定义的逻辑
"JDK动态代理必须针对接口的原因是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
代理
方法
动态
接口
生成
文件
原因
业务
内容
实际
更多
知识
过程
运行
实用
学有所成
接下来
困境
实际上
形式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
西安网络技术安全培训机构
网络安全生态化
基岩版几个好玩的服务器推荐
网络安全业界基本特性
软件开发的评分办法
网络安全985保研
win7服务器远程桌面
电子邮箱网络安全工作落实情况
软件开发流程编程
企凡惠州APP软件开发
浙江省第三届网络安全
中财广义智成财富网络技术
数据库2000质疑
象山ios软件开发工具
商城平台软件开发公司
上海正规软件开发不二之选
固定格式拆分数据库
在客户服务器的通信方式中
网络安全刑事案最新解释
西西软件开发者平台
万象网管没有数据库密码
数据库可重复读举例
北京心理软件开发公司带曼
我国关于网络安全
网络安全病毒防范小知识
成都软件开发设计
华为服务器换硬盘黄绿等一起闪
武大网络安全进国家电网
软件开发尾款付费时间
svn服务器作用