反射的作用和原理


(1) 概念

  反射機制是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。

(2) 功能

  反射機制主要提供了以下功能:

  在運行時判斷任意一個對象所屬的類;
  在運行時構造任意一個類的對象;
  在運行時判斷任意一個類所具有的成員變量和方法;
  在運行時調用任意一個對象的方法;
  生成動態代理。
(3) 反射的缺點

   1.性能第一:反射包括了一些動態類型,所以 JVM 無法對這些代碼進行優化。因此,反射操作的 效率要比那些非反射操作低得多。我們應該避免在經常被 執行的代碼或對性能要求很高的程 序中使用反射。
   2.安全限制:使用反射技術要求程序必須在一個沒有安全限制的環境中運行。如果一個程序必須在有安全限制的環境中運行,如 Applet,那么這就是個問題了
   3.內部暴露:由於反射允許代碼執行一些在正常情況下不被允許的操作(比如訪問私有的屬性和方法),所以使用反射可能會導致意料之外的副作用--代碼有功能上的錯誤,降低可移植性。 反射代碼破壞了抽象性,因此當平台發生改變的時候,代碼的行為就有可能                              也隨着變化。
(4) Bean中配置解析(反射)
  
  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM