A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

刚看张孝祥老师的反射视频,说道Class类的newInstance会缓存一个Constructor的无参实例,然后用缓存的这个constructor实例化一个对象。这里张老师说反射会导致程序性能严重下降,可是我脑子不够用了,实在有点不太理解。有人能给我解释解释吗。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

1 个回复

倒序浏览
      呵呵,我刚好还记得,其实老师说反射会导致程序性能严重下降的说法是一次合理推理,就是说用Class类的newInstance获取对象也是通过调用无參的构造方法,并把这个构造方法缓存起来。二下一次再获取一个对象的时候按道理是不是也要调用构造方法?可是通过看底层代码我们知道,下次使用缓存的构造函数。我们就思考了:缓存一个资源——构造方法是不是要占用内存啊?下次要构造函数的时候在获取一次不就完了吗?那为什么还要这么做呢?由此老师推断获取构造函数不容易,消耗资源,由此老师得出结论反射会导致程序性能严重下降。你明白了吗?

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马