第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

面試刷題6:反射和動(dòng)態(tài)代理是什么?

標(biāo)簽:
Java

反射和动态代理是什么?

反射是java提供的一种自省能力,可以在运行时创建类的实例,访问成员变量,方法。

动态代理是程序在运行时构建代理对象动态动用方法。

反射和动态代理是第三方框架进行封装的基础。

#反射

程序提供的一种自省能力,可以在运行时操作类和对象。

提供的核心类如下:

类别:获取类的定义

领域:获取申明的属性

方法:获取申明的方法

构造函数:构造新对象

需要注意setAccessble(布尔)方法;

可以修改反射的相关对象的访问控制权限;

例如:

ORM框架自动生成组,得到方法;
某些API的私有成员和方法的操作,定制API的功能;

#动态代理

运行时自动重建代理,处理方法调用;

实现方式有:jdkProxy,cglib;

| 对比项目| 说明| | — | — | | JdkProxy | 1.代码简单
2,无额外依赖
3,可以跟随JDK升级平滑| | Cglib | 1,性能优
2,不用实现多余接口
3,关心只操作的类|

常见应用:RPC调用,AOP

下面的代码是使用jdkProxy的示例:

java 公共类MyDynamicProxy { 公共静态void main ( String [ ] args ){ HelloImpl hello = new HelloImpl (); MyInvocationHandler handler = 新的MyInvocationHandler ( hello ); //构造代码实例 Hello proxyHello = ( Hello )代理。的newProxyInstance ( HelloImpl 。类。

getClassLoader(),HelloImpl。上课。getInterfaces(),处理程序); //调用代理方法proxyHello。sayHello();}}接口你好{void sayHello();}类HelloImpl实现了你好{@覆盖公共无效的sayHello(){系统出来。的println(的“Hello World”); } }类MyInvocationHandler器具的InvocationHandler的{私有对象目标;公共MyInvocationHandler(对象目标){ 此。目标=目标; } @覆盖公共对象调用(对象代理,方法方法,对象[ ]参数)抛出的Throwable { 系统。出来。println (“ Invoking sayHello” );

    对象结果=方法。调用(目标,参数); 返回结果; } } ``

aop的使用:

![image.png](https://cdn.nlark.com/yuque/0/2020/png/186661/1585045310463-4744d4e2-28ee-4905-825d-498076171c64.png#align=left&display=inline&height=205&name=image .png&originHeight = 410&originWidth = 635&size = 68473&status =完成和样式= none&width = 317.5)

#小结

本节介绍了反射,动态代理的细节。以及常见的应用场景。

原创不易,转载请注明出处!

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消