网站首页 > 精选教程 正文
什么是反射?
反射(Reflection),指程序可以访问、检测和修改本身状态或行为的一种能力。
每个Java程序运行前,需要先将.java文件通过虚拟机JVM编译成.class文件,然后将编译后的.class文件放到服务器执行。由此可知,真正被执行的并不是Java源文件,而是编译文件.class,此时针对源文件的一切操作,都不会对已有的编译文件产生任何影响。
那么反射可以做些什么呢?
反射可以在程序运行时直接去操作.class文件。也就是说,只要使用反射,就可以操作类中所有的变量、方法、构造器等信息。
Java提供了一个Class类,它的内容是通过读入.class文件的字节码获取的。常用的获取Class对象方式是:Class.forName()。在Java的Spring框架中,关于IoC(控制反转)的应用,就是通过反射来实现的。
使用反射的好处是:对于整个程序而言,可以做到无感操作且灵活;对于框架设计来说,可以更好的降低耦合。
至于反射的缺点,也是非常显而易见的。首先就是安全问题,因为反射是反向获取对象信息,破坏了代码的抽象性,同时因为绕过了限制条件(如访问私有),降低了代码的可靠性和移植性。
最后提示,反射虽好,但不推荐框架以外的使用,请谨慎。
- 上一篇: 大佬,到底什么是Java的反射? java中什么叫反射
- 下一篇: Java之反射 java反射总结
猜你喜欢
- 2024-11-13 十年Java工程师写下的Java反射使用总结
- 2024-11-13 一起来了解Java中的反射 java反射的步骤原理
- 2024-11-13 Java基础:反射机制,你用得多吗 java反射机制有什么用
- 2024-11-13 每日一点涨薪小知识-JAVA反射 java反射的理解
- 2024-11-13 不是吧,还有人连Java最强大的技术之一:反射还没搞懂?赶紧码住
- 2024-11-13 Java反射的原理以及应用场景 java中反射的实际用法
- 2024-11-13 浅谈java中的反射(恭喜FPX) java里的反射是什么
- 2024-11-13 实操讲解Java的反射机制,你要是再看不懂,神仙都没救了
- 2024-11-13 两分钟学会Java反射 java 反射
- 2024-11-13 三石说:java基础 之 反射 java反射的基石
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)