浅谈java反射的优缺点及应用场景

优点:
1.增加程序的灵活性,可以在运行的过程中动态对类进行修改和操作
2.提高代码的复用率,比如动态代理、spring管理bean,就是用到反射来实现的
3.可以在运行时轻松获取任意一个类的方法、属性,并且还能通过反射进行动态调用

缺点:
1.反射会涉及到动态类型的解析,所以jvm无法对这些代码进行优化,导致性能要比非反射调用更低
2.使用反射以后,代码的可读性会下降,程序人员希望在源代码中看到程序的逻辑,反射等绕过了源代码的技术,因而会带来维护问题。反射代码比相应的直接代码更复杂。
3.反射可以绕过一些限制访问的属性或者方法,可能会导致破坏代码本身的抽象性

4.使用反射技术要求程序必须在一个没有安全限制的环境中运行。如果一个程序必须在有安全限制的环境中运行,如Applet,那么这就是个问题了。

应用场景

Spring的 IOC 容器,反射+工厂模式 使工厂类更稳定,JDBC连接数据库时加载驱动类

posted @   老屋上的仙人掌  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示