【Java面试题】java的反射机制

发布时间:2023年12月27日

1.什么是反射

反射是在运行的时候,知道要操作的类是什么,并且在运行时获取类的完整构造,并调用对应的

方法

2.反射的主要功能

1. 在运行时判断任意一个对象所属的类

2.在运行时构造任意一个类的对象

3.在运行时判断任意一个类的成员变量和方法

4.在运行时调用任意一个对象的方法,通过反射可以调用private修饰的方法

5.生成动态代理

3.反射的应用

1.spring框架里的IOC(控制反转)是基于反射创建对象和设置依赖属性

2.spring mvc 的请求是通过反射调用对应的方法

3.JDBC的class.forName 和 spring className方法也是通过反射的

4.反射的优点

增加程序的灵活性,避免将程序写死到代码里

5.反射的缺点

性能上:

反射适用于对灵活性和拓展性很高的系统框架上,普通程序不建议使用

反射包括了一些动态类型,JVM无法对这些代码进行优化

内部暴露:

反射可以访问私有的属性和方法,可能会带来副作用,比如代码有功能上的错误,降低可移植性

文章来源:https://blog.csdn.net/m0_67930426/article/details/135255488
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。