反射技术是java进阶技术必须掌握之一,java的一些功能原理底层基本都是反射实现,今天就来了解一下java中的反射。
首先,什么是反射机制?
1982年,编程开发人员Smith提出的反射的概念,主指应用程序的访问、检测、及修改自身状态和行为能力。
概念一经提出,就引起的互联网业界极大的关注,随后就是一场编程革命的崛起,带动研究,各种支持反射机制的面向对象语言也是由此诞生。
所谓反射,其实就是指在程序运行当中,能够随意的构造一个类的对象及它所属的类和成员变量及方法,还能随意调用对象的属性及方法,像这样动态的获取程序信息和动态调用对象的功能就被称为反射。
在计算机科学的领域当中,反射指的是一种能够自我描述以及自我控制的应用,在java语言当中,反射则是一种非常强大有利的工具。
它是一种面向抽象编程的一种实现方式,它可以使得代码语句更加的灵活,能够极大的提升代码运行的时候的装配能力。
其次,反射机制的作用是?
能够在运行时判定任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判定任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理,这就是反射。
最后,反射机制有哪些优缺点?
优点
极大的提升方便性与灵活性。
缺点
程序健壮性
反射是允许代码执行一些不被允许的操作,所以说有时使用反射所带来的后果是我们都很难料想到的。
具体的来说,反射代码将Java程序结构的抽象性进行了破坏,所以,在程序运行的平台发生了改变的时候,因为抽象的逻辑结构不能被识别,所以会导致,代码产生的效果会和之前的效果有所差异。
性能
java反射机制当中含有一些动态类型,java虚拟机不能够对这些动态代码进行优化,所以,反射操作的效率比正常的操作效率要低。
安全限制
反射一般都需要程序的运行没有安全方面的限制,这会让程序变得危险。
以上就是本篇文章的所有内容,更多java入门知识敬请关注本网站了解详情。
推荐阅读: