【對線面試官】Java反射 && 動態(tài)代理








//?抽象類,定義泛型
public?abstract?class?BaseDao<T>?{
????public?BaseDao(){
????????Class?clazz?=?this.getClass();
????????ParameterizedType??pt?=?(ParameterizedType)?clazz.getGenericSuperclass();?
????????clazz?=?(Class)?pt.getActualTypeArguments()[0];
????????System.out.println(clazz);
????}
}
//?實現(xiàn)類
public?class?UserDao?extends?BaseDao<User>?{
????public?static?void?main(String[]?args)?{
????????BaseDao?userDao?=?new?UserDao();
????}
}
//?執(zhí)行結果輸出
class?com.entity.User




過了一天,面試官看大家三連了。又給我補充了道題:都說反射會影響性能,有什么方式可以減低它的性能影響嗎?
答案:可以使用緩存把反射的元數(shù)據(jù)存儲起來,下一次使用的時候就可以直接從內存獲取了。盡可能使用高性能的反射框架(都幫你封裝好了,不用自己實現(xiàn))。
在開發(fā)過程中,其實很多時候也不用考慮反射會對性能帶來嚴重的影響。與其寫一堆亂七八糟的代碼,還不如用反射來讓代碼更加“好看”。
歡迎添加我的私人微信進一步交流和學習,也可以來一場朋友圈點贊之交
如果顯示頻繁,微信手動搜索【sanwaiyihao】添加即可
評論
圖片
表情
