0

很多人说反射性能很差,最好换别的方式来实现。

反射的性能真的很差吗?反射导致代码变慢的原因是什么呢?

4个回答

12

反射性能很差是没错的,但是现在没有几个框架不用反射的。

关键是如何用,理想的情况是应用启动时一次反射,注入,之后不再扫描。如spring的实现。
后果是应用启动较慢,但一旦启动就健步如飞了。

二是需要动态加载的场景,这时要合理地使用缓存,把通过反射查询到的结果缓存起来。结果是第一次访问较慢,以后便和没有用反射一样了。

反射带来了代码的灵活性,减少代码量,减少重复工作,因为代码少了,所以减少了BUG.

最后要说的一点是,人比机器贵,在没有测量的基础上谈性能都是扯蛋。
软件项目开发首先要想是的尽早上线,帮老板省钱,发现慢时加缓存,买内存,换固态盘,加新服务器,哪项都比人员工资便宜。

1

难怪用了Spring的项目都奇慢无比…… 话说回来,启动慢是有代价的,延长了系统发布、退版的不可用时间。所以用框架时务必把依赖、扫描范围都裁到最小。

auntyellow · 3月25日

添加评论
0

最好不要用这种情况根本不存在,说出来都是给初学者装逼的,用反射必然是在编译期无法拿到相应的对象,方法,字段情况下,没有人会在可以直接new对象的情况下,故意用反射去调用。

-1

暂时还未遇到性能方面的问题。不过。。多人开发中还是少用反射吧。不然真的很尴尬。

-1

反射主要是用来做框架的,一般不会去使用的。

撰写答案