【Java反射机制IOC详解】

Java反射机制有什么用?

Java的反射( reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。
这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制,反射被视为动态语言的关键。

Java反射机制的优点和缺点

优点:可以动态执行,在运行期间根据业务功能动态执行方法、访问属性,最大限度发挥了Java的灵活性。

缺点:对性能有影响,这类操作总是慢于直接执行Java 代码。

java反射机制Class类有哪些常用方法?

Class.forName() 动态加载类
newInstance() 根据对象的class新建一个对象
getSuperclass() 获取继承的父类
getInterfaces() 获取继承的接口
getDeclaredFields() 获取字段名字
getDeclaredMethods() 获取当前类的所有方法
getConstructors() 获得所有的构造函数
getModifiers() 反射中获得修饰符
getPackage() 反射中获得package
getField(String name) 反射中获得域成员
getFields() 获得域数组成员
isAnnotation() 判断是否为注解类型
isPrimitive() 判断是否为基本类型
isEnum() 判断是否为枚举类型
getClassLoader() 获得类的类加载器
getMethods() 获得公共的方法

反射有没有性能影响

使用反射是会有一点性能和效率上的影响,但比起它所带来的好处和便利性,以及应用程序本身所带来的性能问题,反射影响的损耗只是微乎其微,基本可以忽略不计,而且现在主流的Java框架都在大量使用反射。

Java反射到底慢在哪
  1. 反射调用涉及到检查字段、方法的可见性
  2. 反射调用涉及到动态加载,所以IT编译无法优化到
  3. 反射调用还涉及到验证过程和参数,参数需要装箱和拆箱,还需要组装成 Object[]形式、异常的包装等等问题;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

业余码手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值