简单理解--java反射(面试必备)
发布日期:2024-04-22 02:32:15
浏览次数:175
分类:技术文章
本文共 489 字,大约阅读时间需要 1 分钟。
一、什么是反射?
一般Java对象的类型在编译器就已经确定下来了在运行的时候可能会动态加载一些类,但是这些类在之前并没有用到,所以他没有加载到Java虚拟机里面,这个时候就可以使用反射机制进行加载
反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象, 都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。二、反射的优缺点?
优点: 通过配置文件设定要反射的类,即可自动完成对象的实例化,然后进行相应操作,完全不需要更改java源代码,提高了程序的灵活性和拓展性。
缺点: 打破封装、私有属性会被访问;反射机制是动态解析的,JVM无法进行代码优化。三、反射机制的主要应用场景
- 用于反编译将.Class 文件转换成.Java 文件
- Spring框架的配置使用的就是反射来动态加载对象:
我们在使用JDBC连接数据库时使用Class.forName()通过反射加载数据库的驱动程序;
Spring框架的IOC (动态加载管理Bean) 创建对象以及AOP (动态代理)功能都和反射有联系;
转载地址:https://blog.csdn.net/m0_53856016/article/details/128101273 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月11日 12时16分41秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
tinyhttpd源码学习1
2019-05-02
Plus One
2019-05-02
Reverse Linked List II
2019-05-02
36岁退休!阿里 P8 六年实现“财务自由”,裸辞环游世界!
2019-05-02
高赞回答:为什么高级程序员不必担心自己的技术过时?
2019-05-02
SpringBoot集成WebSocket,实现后台向前端推送信息
2019-05-02
MySQL学习笔记——慢查询
2019-05-02
PL/SQL学习笔记之触发器
2019-05-02
Python字符编码和转码
2019-05-02
SOCAT端口转发
2019-05-02
docker快速搭建HTTP代理
2019-05-02
ActiveReports 报表应用教程 (14)---数据可视化
2019-05-03
TestNG 学习总结 - 忽略测试(八)
2019-05-03
TestNG 学习总结 - 测试结果报告(十四)
2019-05-03
Java对象深复制、浅复制
2019-05-03
细分自动化测试
2019-05-03
使用WebDriver完成web页面切换操作(附源码)
2019-05-03
蓝桥杯题解(三)
2019-05-03
Scala学习第十二天 Scala中的继承:超类的构造、重写字段、重写方法代码实战
2019-05-03