當我們在IDE中編寫代碼的時候,打一個點號,IDE會自動彈出對應的屬性和方法名,當我們在debug的時候,IDE會將方法運行時方法內局部變數和外部實例上屬性的值都展示出來,spring中的IOC和AOP,以及一個RPC框架中,我們反序列化,consumer的代理,以及provider的調用都會用到java的反射功能,有人說使用反射會慢,那麼到底慢在哪裡呢?
反射使JAVA語言有了動態編譯的功能,也就是在我們編碼的時候不需要知道對象的具體類型,但是在運行期可以通過Class.forName()獲取一個類的class對象,在通過newInstance獲取實例。