注解實現原理
成都創(chuàng)新互聯(lián)公司 - 中國電信云錦天府,四川服務器租用,成都服務器租用,四川網通托管,綿陽服務器托管,德陽服務器托管,遂寧服務器托管,綿陽服務器托管,四川云主機,成都云主機,西南云主機,中國電信云錦天府,西南服務器托管,四川/成都大帶寬,機柜大帶寬租用·托管,四川老牌IDC服務商
一、什么是注解?
對于很多初次接觸的開發(fā)者來說應該都有這個疑問?Annontation是Java5開始引入的新特征,中文名稱叫注解。它提供了一種安全的類似注釋的機制,用來將任何的信息或元數據(metadata)與程序元素(類、方法、成員變量等)進行關聯(lián)。為程序的元素(類、方法、成員變量)加上更直觀更明了的說明,這些說明信息是與程序的業(yè)務邏輯無關,并且供指定的工具或框架使用。Annontation像一種修飾符一樣,應用于包、類型、構造方法、方法、成員變量、參數及本地變量的聲明語句中。
Java注解是附加在代碼中的一些元信息,用于一些工具在編譯、運行時進行解析和使用,起到說明、配置的功能。注解不會也不能影響代碼的實際邏輯,僅僅起到輔助性的作用。包含在 java.lang.annotation 包中。
二、注解的用處:
1、生成文檔。這是最常見的,也是java 最早提供的注解。常用的有@param @return 等
2、跟蹤代碼依賴性,實現替代配置文件功能。比如Dagger 2 依賴注入,未來java 開發(fā),將大量注解配置,具有很大用處;
3、在編譯時進行格式檢查。如@override 放在方法前,如果你這個方法并不是覆蓋了超類方法,則編譯時就能檢查出。
三、注解的原理:
注解本質是一個繼承了Annotation 的特殊接口,其具體實現類是Java 運行時生成的動態(tài)代理類。而我們通過反射獲取注解時,返回的是Java 運行時生成的動態(tài)代理對象$Proxy1。通過代理對象調用自定義注解(接口)的方法,會最終調用AnnotationInvocationHandler 的invoke 方法。該方法會從memberValues 這個Map 中索引出對應的值。而memberValues 的來源是Java 常量池。
以上就是java注解的實現原理是什么的詳細內容,更多請關注創(chuàng)新互聯(lián)其它相關文章!
新聞標題:java注解的用處和原理
當前路徑:http://chinadenli.net/article26/jggocg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制網站、搜索引擎優(yōu)化、虛擬主機、網頁設計公司、云服務器、服務器托管
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)