首頁  >  文章  >  Java  >  java反射機制有什麼用?

java反射機制有什麼用?

藏色散人
藏色散人原創
2019-04-28 13:51:279004瀏覽


這篇文章主要跟大家介紹java反射機制有什麼用,希望對需要的朋友有幫助!

java反射機制有什麼用?

Java語言反射提供一個動態連結程式元件的多功能方法。它允許程式創建和控制任何類別的物件(根據安全性限制),無需提前硬編碼目標類別。這些特性使得反射 特別適用於創建以非常普通的方式與物件合作的庫。例如,反射經常在持續儲存物件為資料庫、XML或其它外部格式的框架中使用。 Java reflection 非常有用,它使類別和資料結構能按名稱動態檢索相關信息,並允許在運行的程式中操作這些信息。 Java 的這項特性非常強大,並且是其它一些常用語言,如 C、C 、Fortran 或 Pascal 等都不具備的。

但反射有兩個缺點。第一個是效能問題。用於欄位和方法存取時反射要遠慢於直接程式碼。效能問題的程度取決於程式中是如何使用反射的。如果它作為程式運行中相 對很少涉及的部分,緩慢的效能將不會是一個問題。即使測試中最壞情況下的計時圖顯示的反射操作只耗用幾微秒。僅反射在效能關鍵的應用的核心邏輯中使用時性 能問題才變得至關重要。

許多應用中更嚴重的一個缺點是使用反射會模糊程式內部實際要發生的事情。程式人員希望在原始碼中看到程式的邏輯,反射等繞過了原始程式碼的技術會帶來維護問 題。反射程式碼比相應的直接程式碼更複雜,正如效能比較的程式碼實例中看到的一樣。解決這些問題的最佳方案是保守地使用反射——僅在它可以真正增加靈活性的地方 ——記錄其在目標類別中的使用。

總之,大多數情況下反射是為了提高程式的靈活性。因此一般框架中使用較多。因為框架要適用更多的情況。對靈活性要求較高。

相關推薦:《Java教學


#

以上是java反射機制有什麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn