最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

Java中的反射與代理(1)

標(biāo)簽:
Java

即使很多有一定开发经验的工程师,在被问到反射与动态代理相关的问题时,可能仍然模棱两可,答不完整(例如认为Class.forName()就是反射的全部)Java开发中大名鼎鼎的Spring框架它最为核心的依赖注入功能就是通过反射和代理来实现的

不仅仅是Spring,在远程方法调用RMI、远程过程调用RPC中也都有反射和代理的影子

不过,如果不需要自己动手开发一个框架,那么反射和动态代理其实了解一下就可以了

Java有一句著名的口号就是Everything is an Object——Object是整个Java中所有类的父类(就像中国的女娲外国的普罗米修斯一样)。除了这个Object外,还有一个Class类,它用来描述每个类的类型信息也就是给每个类建立了档案,如构造器、属性、方法、实现接口、继承结构等就像民政局的花名册一样谁是谁的爸爸谁是谁的孙子年龄性别家庭住址等等全都登记在册

Class类并不是给开发者开发用的,也没有公共的构造方法,它是由ClassLoader加载、JVM自动构造的,不需要工程师干预也干预不了。一个类在JVM中只有一个Class实例。类的实例化过程是这样的



https://img1.sycdn.imooc.com/634574c80001624407420466.jpg

 



所以反射的本质是JVM得到编译.class文件后,加载到JVM中,通过Class获取到对象的各种信息,再根据这些信息创建所需的对象实例或变量的引用值。


https://img2.sycdn.imooc.com/634574d500014e5508350462.jpg



在侏罗纪公园科学家拿到了蚊子吸的恐龙血然后就通过这些远古的血液样本又让恐龙复活过来这两者的过程非常相像


https://img4.sycdn.imooc.com/634574e000015afd06660250.jpg


 

C++中有一个叫做RTTI运行时类型识别的概念,但Java是没有这个概念的JSR规范里面也没有,Java只有反射的概念所以如果有面试官问到Java中的RTTI时就别往坑里跳了)。



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

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

評(píng)論

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

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

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

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

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

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

幫助反饋 APP下載

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

公眾號(hào)

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

舉報(bào)

0/150
提交
取消