【对线面试官】Java反射 && 动态代理

Java3y

共 933字,需浏览 2分钟

 ·

2021-01-09 13:06

// 抽象类,定义泛型
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);
    }
}

// 实现类
public class UserDao extends BaseDao<User{
    public static void main(String[] args) {
        BaseDao userDao = new UserDao();

    }
}
// 执行结果输出
class com.entity.User
文章以纯面试的角度去讲解,所以有很多的细节是未铺垫的。

比如说反射的API使用以及动态代理的详解等等等...这些在【Java3y】公众号都有过详细的基本教程甚至电子书,我就不再详述了。

过了一天,面试官看大家三连了。又给我补充了道题:都说反射会影响性能,有什么方式可以减低它的性能影响吗?


答案:可以使用缓存把反射的元数据存储起来,下一次使用的时候就可以直接从内存获取了。尽可能使用高性能的反射框架(都帮你封装好了,不用自己实现)。


在开发过程中,其实很多时候也不用考虑反射会对性能带来严重的影响。与其写一堆乱七八糟的代码,还不如用反射来让代码更加“好看”。


欢迎关注我的微信公众号【面试造火箭】来聊聊Java面试的事儿

欢迎添加我的私人微信进一步交流和学习,也可以来一场朋友圈点赞之交

如果显示频繁,微信手动搜索sanwaiyihao添加即可

浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报