摘要:反射的本質在運行時能夠獲得或判斷某個對象的類型信息有一條前提就是某個對象的類型信息在編譯時必須已知。反射在中用來支持其他特性的,例如對象的序列化和對象對象是進行反射操作的入口所以首先必須獲得對象。
反射的本質
Java在運行時能夠獲得或判斷某個對象的類型信息
RTTI有一條前提就是某個對象的類型信息在編譯時必須已知。RTTI的實質就是編譯器在遍歷檢查代碼時偷偷將類型信息記錄下來并存儲,以在運行時能夠獲得當編寫完某個.java文件,并編譯之后,就會產生一個Class對象,由編譯器偷偷的把這個class對象保存在編譯后的.class文件中,當這個.class文件被加載到內存之后,隨之會在內存中創建這個Class對象了。所以,獲得class對象的前提是能獲得類編譯后的.class文件。且class對象的功能強大,方法眾多:Class.getInterfaces()、Class.getSuperclass()、Class.getName()、Class.isInterface()等等,能用來獲得很多信息
RTTI與反射在最底層的思想上是很類似的,本質的區別在于:對RRTI,編譯器在編譯時打開和檢查.class文件,而對反射來說,.class文件在編譯時是不可獲取的,在運行時未知對象已經來了再去打開和檢查.class文件
反射機制使得java能夠創建一個在編譯時完全未知的對象。反射在Java中用來支持其他特性的,例如對象的序列化和JavaBean
Class對象Class對象是進行反射操作的入口,所以首先必須獲得Class對象。除了通過實例獲取外,Class對象主要由以下幾種方法獲得:
通過類加載器加載class文件
Class> clazz = Thread.currentThread().getContextClassLoader(). loadClass("com.takumiCX.reflect.ClassTest");
通過靜態方法Class.forName()獲取,需要傳入類的全限定名字符串作參數(在獲得class對象的同時會引起類的初始化;如果指定參數initialize為false時,也不會觸發類初始化,其實這個參數是告訴虛擬機,是否要對類進行初始化)
Class> clazz = Class.forName("com.takumiCX.reflect.ClassTest");
通過類.class獲得類的Class對象
ClassSpring IOC反射機制clazz = ClassTest.class;
找到并加裝配置
解析配置文件中的bean元素,并識別id和class
通過反射(Class.forName().newInstance())創建這個bean的實例
將id作為key、實例作為value存放進Spring容器中
getBean取出實例
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73236.html
摘要:而面向搜索引擎,就是我們要及時的使用百度谷歌遇到問題無法解決,先別急著放棄,可以去網絡尋找答案,你的坑大部分別人都已經走過了,大部分都可以找到合適的解決方案。 showImg(https://segmentfault.com/img/remote/1460000019236352?w=866&h=456); 前言: ●眾多的語言,到底哪一門才是適合我的?●我們為什么要學習Java語言呢...
摘要:動態代理個經紀人如何代理個明星掘金在代理模式女朋友這么漂亮,你缺經紀人嗎中我們用寶強的例子介紹了靜態代理模式的概念。掘金使用從頭創建一個,這種方法比較簡單。 動態代理:1 個經紀人如何代理 N 個明星 - Android - 掘金在 代理模式:女朋友這么漂亮,你缺經紀人嗎? 中我們用寶強的例子介紹了靜態代理模式的概念。 本來我的目的是通過大家耳熟能詳的例子來加深理解,但是有些網友指責...
摘要:目錄如何用提高效率后端掘金經常有人說我應該學一門語言,比如之類,但是卻不知道如何入門。本文將通過我是如何開發公司年會抽獎系統的后端掘金需求出現年會將近,而年會抽獎環節必不可少,但是抽獎系統卻還沒有。 云盤一個個倒下怎么辦?無需編碼,手把手教你搭建至尊私享云盤 - 工具資源 - 掘金微盤掛了,360倒了,百度云盤也立了Flag。能讓我們在云端儲存分享文件的服務越來越少了。 買一堆移動硬盤...
摘要:從使用到原理學習線程池關于線程池的使用,及原理分析分析角度新穎面向切面編程的基本用法基于注解的實現在軟件開發中,分散于應用中多出的功能被稱為橫切關注點如事務安全緩存等。 Java 程序媛手把手教你設計模式中的撩妹神技 -- 上篇 遇一人白首,擇一城終老,是多么美好的人生境界,她和他歷經風雨慢慢變老,回首走過的點點滴滴,依然清楚的記得當初愛情萌芽的模樣…… Java 進階面試問題列表 -...
閱讀 2953·2021-11-24 09:39
閱讀 2861·2021-09-29 09:34
閱讀 3555·2021-09-24 10:23
閱讀 1741·2021-09-22 15:41
閱讀 1693·2019-08-30 15:55
閱讀 3510·2019-08-30 13:58
閱讀 2617·2019-08-30 13:11
閱讀 1665·2019-08-29 12:31